이전에 나는 늪지 표준 PHP와 협력하여 최근에 Laravel로 옮겼습니다. 내가 이해할 수없는 한 가지는 Laravel Eloquent의 SQL 쿼리입니다.Laravel의 Eloquent에 대한 이해
예를 들어 나는 역할이이고 사용자는 테이블입니다. 역할 테이블에는 각 역할에 대한 역할 및 ID가 포함됩니다. 사용자 테이블에는 사용자의 역할을 참조하는 role_id뿐만 아니라 다양한 사용자 세부 정보가 들어 있습니다.
내 사용자 모델에 시도 내가 내 역할 모델에 시도 무엇
public function role()
{
// return $this->hasOne('App\Phone', 'foreign_key', 'local_key');
return $this->hasOne('App\Role', 'id', 'role_id');
}
내 컨트롤러에서 다음
public function users()
{
return $this->hasMany('App\User', 'role_id', 'id');
}
public function index()
{
$var = User::find()->role->get();
return view('article',
array(
'var' => $var
));
}
,
하지만 이제 일반 PHP에서와 같이 두 테이블의 필드에 어떻게 액세스합니까? 차라리 표준 SQL을 사용하려고하지만이 프레임 워크를 제대로 배우려고합니다.
어떤 조언이 필요합니까?
변화를 hasOne의'열망 로딩을 시도 ('앱 \ 역할', 'ID를' 'ROLE_ID');'있지만, 사실 당신은 단지를 키를 ommit 수 있습니다 웅변은 당신의 경우에 그들을 맞을 것입니다. –
역할과 사용자 (1-1,1-n, n-n) 사이에 원하는 관계를 말해주십시오. 나는 예제를 줄 것이다 – KmasterYC
'belongsTo ('App \ Role')'을'role()'관계에 사용할 것이다. 이것은 일대 다 관계가 _many_ 측에서 모델링되는 방식입니다. –