2014-05-08 3 views
11

Der Versuch, eine Liste der mit einem Ereignis verknüpften Benutzer zu erhalten. Hier sind meine eloquent Modelle:Die Beziehungsmethode muss ein Objekt vom Typ Illuminate Database Eloquent Relations Relation zurückgeben.

User.php:

public function fbevents() 
{ 
    $this->belongsToMany('Fbevent', 'fbevent_user'); 
} 

Fbevent.php:

public function users() 
{ 
    $this->belongsToMany('User', 'fbevent_user); 
} 

ich diesen Fehler, wenn ich versuche, um die Liste zu finden:

$event = Fbevent::find(10); 
var_dump($event->users->lists('userId')); 

Ich habe eine Pivot-Tabelle in der Datenbank mit der folgenden Migration eingerichtet:

$table->increments('id'); 
$table->integer('fbevent_id')->unsigned()->index(); 
$table->foreign('fbevent_id')->references('id')->on('fbevents')->onDelete('cascade'); 
$table->integer('user_id')->unsigned()->index(); 
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade'); 
$table->timestamps(); 

Und hinzugefügt einen Eintrag in der Tabelle fbevent_user mit fbevent_id = 10 und user_id = 1.

Antwort

39

Sie benötigen ein Ergebnis von Ihren Beziehungen

public function fbevents() 
{ 
    return $this->belongsToMany('Fbevent', 'fbevent_user'); 
} 
public function users() 
{ 
    return $this->belongsToMany('User', 'fbevent_user'); 
} 
+10

Dank bekam gleiche Problem zurückzukehren, ich habe vergessen zu Rückkehr hinzufügen. muss die Wirkung von zu viel Kaffee sein XD – Ceeee

+0

Dank einer Tonne war das sehr hilfreich – plushyObject