gpt4 book ai didi

php - Kohana 2.3.4 ORM - 删除数据透视表关系

转载 作者:行者123 更新时间:2023-11-29 09:16:51 24 4
gpt4 key购买 nike

我正在尝试使用 ORM 的删除方法从数据透视表中删除关系。这是用于更新与产品关联的类别的编辑方法。我可以成功添加多个关系,但我需要先删除这些关系,然后才能再次添加它们。

这是我添加它们的方法

           foreach ($categories as $addCat)
{
$product->add(ORM::factory('category', $addCat));
}

$categories 是表单中的项目数组,$product 是模型。这很完美。

我想我需要做这样的事情来删除它们,但它不起作用

$product->remove(ORM::factory('category', $product->id));

$product->id 是产品的 id。我在添加脚本之前调用此脚本。我的目标是删除包含“$product->id”中的值的所有关系,然后运行循环以再次添加它们。如果我为数据透视表创建一个模型,我可以轻松地做到这一点,但这违背了使用数据透视表的目的。

最佳答案

你的想法是对的。当您调用 ORM::factory('category', $product->id) 时,您正在尝试查找与您的产品具有相同 id 的类别。相反,您需要指定要删除的类别的 ID。

假设您有一组要删除的类别 ID:

$categories = array('2', '4', '6');
foreach ($categories as $cat_id)
{
$product->remove(ORM::factory('category', $cat_id));
}

关于php - Kohana 2.3.4 ORM - 删除数据透视表关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3865755/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com