我对laravel orm有疑问。我有三张桌子表A(id,.......), 表B(id,A_id,C_id,.....), 表C(id,....)。 和表A和B有一对多关系 表B和C具有一对一的关系。 如何从表A中使用hasMany on C。比如
class aModel {
function b(){
return hasMany(app\Models\bModel');
}
// i want to do this
function c(){
return hasMany('App\Models\cModel');
}
}
class bModel{
function a(){
return belongsTo('App\Models\aModel);
}
function c(){
return belngsTo('App\Models\cModel');
}
}
like aModel::with(['b'])->get(); i want.
$a = aModel::with( ['c] )->get();
任何人请................
答案 0 :(得分:0)
查看hasManyThrough()
方法。
return hasManyThrough('App\Models\cModel', 'App\Models\bModel');
答案 1 :(得分:0)
答案 2 :(得分:0)
您可以使用hasManyThrough()
:
public function cModels()
{
return $this->hasManyThrough('App\Models\cModel', 'App\Models\bModel');
}
或者你可以使用nested eager loading:
aModel::with('bModels.cModels')->get();