首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Detach Laravel 5.3

Detach Laravel 5.3
EN

Stack Overflow用户
提问于 2016-10-17 12:03:38
回答 1查看 654关注 0票数 0

经过几个小时的调试和试图解决一个问题,我没有找到解决方案。所以我希望你能帮我。

我有一小块代码:

代码语言:javascript
复制
$removed = false;
if ($store->persons->contains($person)) {
    $store->persons()->detach($person);
    $removed = true;
}

var_dump($removed);

我的问题是,我不明白为什么$remove总是“假”。如果我评论行$store->persons()->detach($person);,一切都按预期工作,$removed将为"true“。我不明白为什么会这样,但我希望你能帮我。

编辑

代码语言:javascript
复制
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,
    ]);
}

谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-10-17 13:16:50

解除/附加方法不以完整的模型作为参数,相反,它们都需要相关模型的id,因此在您的示例中,您需要为ex传递id。

代码语言:javascript
复制
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,
    ]);
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40085915

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档