zurückgegeben Ich versuche, eine Abfrage zu erstellen, die Datensätze des Elements mit seinen Beziehungen zurückgibt. Es muss jedoch von einer zweiten Ebene Beziehung bestellt werden. Und es muss auch paginiert werden.Eloquente Abfrage, um Artikel von Second-Level-Relation
Hier sind die Modelle und Beziehungen:
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);
}
}
Erstes Modell eine Eins-zu viel Beziehung mit dem zweiten Modell hat (zweite Modell-Tabelle ein Feld für die erste Modell-ID hat).
Zweites Modell hat eine Viele-zu-viele-Beziehung mit Drittem Modell (unter Verwendung einer Pivot-Tabelle mit erster Modell-ID und zweiter Modell-ID).
Die gewünschte Rückgabe wäre eine Sammlung von FirstModel-Elementen, die von der ThirdModel-ID bestellt wurden.
Wie konnte ich diese Abfrage mit Eloquent oder Laravel DB Query Builder erreichen?
Vielen Dank.
Wenn 'FirstModel' viele' SecondModel' hat und 'SecondModel' viele (viele-zu-viele)' ThirdModel', welche 'ThirdModel' ID soll das' FirstModel' haben? Der erste aus der ersten 'SecondModel'-Beziehung? – fubar
Der mit der niedrigsten ID (wenn wir bei ASC bleiben). Die Idee ist, die Ergebnisse nach den dritten Modell-ID-Werten zu ordnen. – crabbly