Ich habe zwei Tabellen:Laravel Viele-zu-Eins-Beziehung
orders
-id
-status_id
status
-id
-label
Beziehungen sind:
Jeder Auftrag hat einen Status
public function status()
{
return $this->hasOne('App\Status');
}
Jeder Status viele Aufträge gehören, können
public function orders()
{
return $this->belongsToMany('App\Order');
}
Ich nehme an, es ist c orrect?
Nun, wenn ich benutze:
$o = Status::with('orders')->get();
ich alle Aufträge. Wenn ich benutze:
$o = Order::with('status')->get();
ich einen Fehler! Spalte nicht gefunden: 1054 Unbekannte Spalte 'status.order_id' in 'where-Klausel' (SQL: wählen * aus status
wo status
. order_id
in (1, 2, 3, 4, 5)) Aber ich habe keinen Status .order_id, stattdessen habe ich order.status_id.
Wie bekomme ich das Etikett des Bestellstatus? Wie order-> status-> label?
Aber würde es dann in menschliche Sprache übersetzen wie "Ordnung gehört zum Status. Status hat viele Befehle"? Das ist ein wenig kontraintuitiv, aber es funktioniert einfach großartig! – TheKitMurkit