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();
});
was '$ pet-> Benutzer() -> get() -> Listen ('id')'? da '-> users()' ist eine Beziehungsklasse anstelle eines Arrays. –
wah danke, ich hätte die api vor dem kommentieren überprüfen sollen. –
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