私のLaravelのバージョンは5.5.13です。多対多の関係で `lists`を使用できません
私はユーザーモデルとペットモデルの間に多対多の関係を作成しました。ペットは複数のユーザーに属することができます。
私はコントローラ内でupdate
メソッドを実行しようとしていますが、関連するすべてのユーザーIDのリストを取得しています。だから私は試してみました:
public function update(Request $request, Pet $pet)
{
dd($pet->users()->lists('id'));
$pet->update($request->all());
return response()->json($pet, 200);
}
は、しかし、私は得る:未定義のメソッドを照らし\ Databaseへ
コール\クエリー\ビルダー::リスト()
lists()
がないようですが。
私がdd($pet->users())
を実行すると、エラーは発生せず、多くの情報が表示されます。
* lists()
が機能するように手伝ってください。
Pet
モデルでの私の関係は次のとおりです。
そしてUser
モデルの私relatinshipがある:ここでは
public function pets()
{
return $this->belongsToMany('App\Pet');
}
は、ピボットのための私の移行です:
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();
});
ものについて '$ pet->ユーザー() - >を取得() - >リスト( 'ID')'? ' - > users()'は配列ではなくリレーションクラスであるからです。 –
wahありがとう、私はコメントする前にapiをチェックしていたはずです。 –
ありがとう@BagusTesa - 私もそれを犯しています:(私はまだ本当にlaravelに新しいので、私はまだ読んでドキュメントを探る方法を学んでいます: – Blagoh