デバッグして問題を解決しようとしたが、私は解決策を見つけられませんでした。だから、私を助けてくれることを願っています。デタッチLaravel 5.3
私は、コードのこの小さな作品を持っている:
$removed = false;
if ($store->persons->contains($person)) {
$store->persons()->detach($person);
$removed = true;
}
var_dump($removed);
私の問題は、$削除は常に「偽」である理由私は理解できないということです。 $ store-> persons() - > detach($ person)という行にコメントすると、すべて正常に動作し、$削除は "true"になります。なぜこれが起こっているのか理解できませんが、私があなたを助けてくれることを願っています。
public function removePerson(Request $request, $storeId, $personId)
{
$store = Store::findOrFail($storeId);
$person = Cashier::findOrFail($personId);
$removed = false;
if ($store->persons->contains($person)) {
$store->persons()->detach($person);
$removed = true;
}
return response()->json([
'removed' => $removed,
]);
}
EDITありがとうございました。
ここにいくつかの情報が欠落しているように感じます。もっとコードを投稿できますか?キャッシャーをどこに呼びますか? –
キャッシャーは誤りでした。私はメソッドの完全なコードを追加しました。ありがとうございました。 –