2014-05-08 13 views
11

Próba uzyskania listy użytkowników powiązanych ze zdarzeniem. Oto moje wymowne modele:Metoda relacji musi zwrócić obiekt typu Illuminate Database Eloquent Relacje Relacja

User.php:

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

Fbevent.php:

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

otrzymuję ten błąd, gdy próbuję znaleźć listę:

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

Skonfigurowałem tabelę przestawną w bazie danych z następującą migracją:

$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(); 

I dodaje się wpis w tabeli fbevent_user z fbevent_id = 10 i user_id = 1.

Odpowiedz

39

Trzeba zwrócić wynik z Twoich relacji

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

dzięki ale sam problem, zapomniałem dodaj zwrot. musi być efektem zbyt dużej ilości kawy XD – Ceeee

+0

Dziękuję za tonę, to było bardzo pomocne – plushyObject

Powiązane problemy