Ich bin neu in Laravel und habe Probleme mit Selbstbezüglichkeit in eloquent. Ich habe Tabelle users
mit Feldern id
und referrer
, wobei referrer
Fremdschlüssel für Tabelle Benutzer ist (jeder Benutzer hat einen Referrer, der auch Benutzer ist). Und Tabelle invoice
hat Beziehung zu Benutzern.Laravel Eloquent Selbst-Beziehungen
Ich möchte alle Rechnungen für Benutzer und Referrer erhalten.
Im Modell habe ich Beziehungen:
public function referrer()
{
return $this->hasOne('User', 'referrer');
}
public function referral()
{
return $this->belongsTo('User','id');
}
public function invoice()
{
return $this->hasMany('invoice', 'user_id');
}
Und query:
$this->model->with(['invoice'])
->with(['referrer'=> function($q)
{
$q->with(['invoice']);
}]);
}]);
Aber diese Abfrage gibt mir Benutzer und ihre Rechnungen aber nicht zurück Referrer nur leere Array-Schlüssel referrer =>
Aktualisiert
ich ändern Beziehungen:
public function referrer()
{
return $this->hasOne('User', 'referrer');
}
public function referral()
{
return $this->belongsTo('User','referrer');
}
public function invoice()
{
return $this->hasMany('invoice', 'user_id');
}
Und jetzt Dumping Ergebnis sehe ich Referrer Beziehung, aber wenn ich zu bekommen $user->referrer
versuchen, bekam ich Referrer-ID nur statt Referrer Objekt
Vielen Dank für Antwort, aber schon versucht, hat nicht funktioniert. –