2016-04-05 16 views
1

Ich möchte einige zusätzliche Benutzerinformationen aus der Tabelle Divisionen erhalten.Laravel 5.2 gehört zu Relation nicht funktionieren

Aber funktioniert nicht warum?

BadMethodCallException in Macroable.php Zeile 81: Method division ist nicht vorhanden.

Klasse AdminsController erweitert

-Controller
public function getUserIndex() 
{ 
    $users = User::all()->division(); 
    dd($users); 
} 

class User authentifizierbarer erweitert

public function division() 
{ 
    return $this->belongsTo('App\Division', 'division_id'); 
} 

Klasse Abteilung erweitert Modell

public function users() 
{ 
    return $this->hasMany('App\User'); 
} 

Tabelle Benutzer

$table->foreign('division_id')->references('id')->on('divisions')->onUpdate('cascade'); 

Divisions Tabelle

$table->increments('id'); 

Antwort

0

division() Die Beziehung wird für jede einzelne Tabellenzeile definiert. Wenn Sie es unter all() aufrufen, versuchen Sie, die Beziehung für alle Zeilen zu ermitteln.

sollten Sie in der Lage sein, etwas zu verwenden wie:

public function getUserIndex() 
{ 
    $users = User::all(); 
    foreach ($users as $user) { 
     dd($user->division()); 
    } 
} 
+1

Dank. Es ist work.dd ($ user-> division() -> first() -> name); ' – beru222

Verwandte Themen