我試圖建立一個查詢,它將返回與它的關係項目的記錄。但是,它需要通過二級關係進行排序。而且,它也需要分頁。雄辯的查詢返回按第二級關係排序的項目
下面是模型和關係:
class FirstModel extends Model
{
public function secondModel()
{
return $this->hasMany(SecondModel::class);
}
}
class SecondModel extends Model
{
public function firstModel()
{
return $this->belongsTo(FirstModel::class);
}
public function thirdModel()
{
return $this->belongsToMany(ThirdModel::class);
}
}
class ThirdModel extends Model
{
public function secondModel()
{
return $this->belongsToMany(SecondModel::class);
}
}
第一種模式有一個與第二模型(第二模型表對於第一種模式ID字段)一對多的關係。
第二個模型與第三個模型(使用具有第一個模型ID和第二個模型ID的數據透視表)具有多對多關係。
期望的返回將是由ThirdModel id排序的FirstModel項目的集合。
如何使用Eloquent或Laravel的數據庫查詢生成器來完成此查詢?
謝謝。
如果'FirstModel'有很多'SecondModel'並且'SecondModel'有很多(多對多)'ThirdModel',那麼'FirstModel'應該按照什麼順序排列'ThirdModel'?第一個'SecondModel'關係中的第一個? – fubar
最低ID(如果我們堅持使用ASC)。這個想法是通過第三個模型ID值對結果進行排序。 – crabbly