经过几个小时的调试和试图解决一个问题,我没有找到解决方案。所以我希望你能帮我。
我有一小块代码:
$removed = false;
if ($store->persons->contains($person)) {
$store->persons()->detach($person);
$removed = true;
}
var_dump($removed);我的问题是,我不明白为什么$remove总是“假”。如果我评论行$store->persons()->detach($person);,一切都按预期工作,$removed将为"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,
]);
}谢谢。
发布于 2016-10-17 13:16:50
解除/附加方法不以完整的模型作为参数,相反,它们都需要相关模型的id,因此在您的示例中,您需要为ex传递id。
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->id); // or $personId which ever
$removed = true;
}
return response()->json([
'removed' => $removed,
]);
}https://stackoverflow.com/questions/40085915
复制相似问题