2
當前邏輯設置:嵌套的hasMany預先加載Laravel功能
- 一個房間可以有很多的對象。
- 一個對象可以有很多分數。
- 問題是對象可能沒有任何分數。
情景: 我想要檢索基礎上,room_id
我提供了有一些只對象。
嘗試:
$audits = Room::where('id', $room_id)
->has('objects.scores')
->get();
什麼我的發現是,它返回的所有對象,即使只有一對夫婦的對象實際上有一個分數。
關係(房間):
public function objects()
{
return $this->hasMany('App\Object');
}
關係(對象):
public function scores()
{
return $this->hasMany('App\Scores');
}
關係(分數):
public function object()
{
return $this->belongsTo('App\Object');
}
我如何查詢相反?或者正確的方法!我只想要有與他們相關的分數的對象,並因此與它們相關的任何東西(房間等)。
非常感謝。
您的嵌套關係查詢點符號看起來不錯;我覺得這應該返回正確的結果(只有'房間''有一個'對象'有一個'分數'。你如何定義'房間'中的'對象'關係?還有,我想知道這是否可能是使用'hasManyThrough()'關係的一個好例子? – camelCase
@camelCase,我已經添加了對象關係到描述。 – Ben
什麼是「dd(Room :: where('id',$ room_id) - > has(' objects.scores') - > toSql());「show? –