사용자 정의 네임 스페이스에 Eloquent 모델이 있습니다. 예를 들어 내 사용자 모델이 Admin\User
인 것을 의미합니다. 각 사용자는 회원 또는 관리자와 연결되어 있습니다. 이러한 최신 모델은 사용자 모델과 동일한 네임 스페이스 (Admin\Member
및 Admin\Admin
)에 있습니다.Laravel의 다형성 관계를 사용자 정의 네임 스페이스의 모델로 정의
namespace Admin;
use Illuminate\Database\Eloquent\Model as Eloquent;
class User extends Eloquent
{
public function model()
{
return $this->morphTo();
}
}
class Admin extends Eloquent
{
public function user()
{
return $this->morphOne('Admin\User', 'model');
}
}
class Member extends Eloquent
{
public function user()
{
return $this->morphOne('Admin\User', 'model');
}
}
내 문제는 다음과 같이
나는 내가 할 때, 관계를 정의했습니다 :
$member = Member::find($id);
$member->user
는 NULL
입니다.
내가 정의해야 할 것은 무엇입니까? 제가 누락 된 것이 있습니까?
혹시이 문제를 해결하셨습니까? 나는 동일한 문제 (morphMany() btw 사용)를 가지고 있고 아주 단순하기로되어있는 동안 나는 갇혀있다 ... –
네임 스페이스 선언을 제거 할 때 작동합니까? –
사실, $ member-> user는 null을 반환하면 구성원과 관련된 사용자가 발견되지 않았습니다. 클래스를 찾을 수 없으면 예외가 발생합니다. – ehp