如何通过laravel使用hasMany

时间:2017-03-26 17:31:17

标签: laravel

我对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();

任何人请................

3 个答案:

答案 0 :(得分:0)

查看hasManyThrough()方法。

return hasManyThrough('App\Models\cModel', 'App\Models\bModel');

答案 1 :(得分:0)

实际上它有点棘手......我找到了解决方案..
solutin是
AMODEL ::其中([ 'b.c']) - >得到();

答案 2 :(得分:0)

您可以使用hasManyThrough()

public function cModels()
{
    return $this->hasManyThrough('App\Models\cModel', 'App\Models\bModel');
}

或者你可以使用nested eager loading

aModel::with('bModels.cModels')->get();