모델 클래스의 이름에 별칭을 사용하기 위해 "USE"를 사용하여 laravel eloquent 메서드에서 관련 모델의 클래스 이름을 사용하려고합니다. 예를 들어, 내가 사용하고 USERPROFILE 모델 클래스 :laravel에서 관련 모델 클래스 사용
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
use App\Models\UserProfile;
그리고 지금은 다음과 웅변에 사용하고 있습니다 :
public function profileDetails() {
return $this->hasOne('UserProfile', 'user_id', 'id');
}
을하지만이 Class 'UserProfile' not found
의 오류가 발생 내가 직접 이름을 전달하는 경우 이 웅변의 첫 번째 인수에 경로와 관련 모델은, 그것은 작동하고 잘
public function profileDetails() {
return $this->hasOne('App\Models\UserProfile', 'user_id', 'id');
}
는로 작동하지 않는 이유가 궁금하네요
당신이'USERPROFILE :: class' (따옴표)를 사용할 수 없습니다 5.5 PHP를 사용하는 경우. 위에서 언급 한 '사용'을 활용할 수있는 유일한 방법은 아닙니다. 'use'는 클래스를 로컬로 앨리어스 (alias)시킬 수는 있지만 클래스의 정규화 된 이름은 실제로 변경하지 않습니다. – apokryfos
@JimWright가 해결책을 제시했습니다. 당신이 잘못 클래스 경로를 부여했기 때문에 –
@apokryfos 그것은 나를 위해 작동합니다. 감사!! 예를 들어이 클래스의 인스턴스를 만들 수있는 또 다른 방법이 있습니다. 'new UserProfile' – Manu