2017-10-03 2 views
0

Meine Laravel-Version ist 5.5.13.Nicht in der Lage, `Listen` in vielen zu vielen Beziehung zu verwenden

Ich erstellte eine viele zu viele Beziehung zwischen Benutzermodell und Haustiermodell. Haustiere können mehreren Benutzern gehören.

Ich versuche in meiner update Methode in Controller zu tun, eine Liste aller zugehörigen Benutzer-IDs zu erhalten. Also habe ich versucht:

public function update(Request $request, Pet $pet) 
{ 
    dd($pet->users()->lists('id')); 
    $pet->update($request->all()); 
    return response()->json($pet, 200); 
} 

Allerdings erhalte ich:

Call to undefined Methode Illuminate \ Database \ Abfrage \ Builder :: Listen()

Es scheint, gibt es keine lists().

Wenn ich tun dd($pet->users()) gibt es keinen Fehler und zeigt eine Menge Informationen.

* Bitte helfen Sie, dieses lists() zu erhalten.

in Pet Modell Meine Beziehung ist:

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

Und mein relatinship in User Modell ist:

public function pets() 
{ 
    return $this->belongsToMany('App\Pet'); 
} 

Hier meine Migration für den Schwenk ist:

Schema::create('pet_user', function (Blueprint $table) { 
    $table->integer('pet_id')->unsigned()->index(); 
    $table->foreign('pet_id')->references('id')->on('pets')->onDelete('cascade'); 

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

    $table->timestamps(); 
}); 
+1

was '$ pet-> Benutzer() -> get() -> Listen ('id')'? da '-> users()' ist eine Beziehungsklasse anstelle eines Arrays. –

+1

wah danke, ich hätte die api vor dem kommentieren überprüfen sollen. –

+0

Danke @BagusTesa - Ich bin auch schuldig :(Ich bin wirklich neu zu Laravel obwohl ich lerne immer noch, wie man das lesen und die Dokumente erkunden :( – Blagoh

Antwort

1

list() ist nicht mehr verfügbar in Laravel. Alternativ können Sie pluck() verwenden und alle Elemente zupfen wie dieses pluck()->all();

pluck('key')->all(); 
pluck()->all(); 

Referenz doc

Verwandte Themen