0

我正在创建几个自定义组件,当我删除一个组件中的条目时,它必须删除所有其他组件中具有相同键的条目。

我认为我很聪明并且做了以下事情,所以我不必为每个表重写代码。这曾经可以工作,但现在它停止工作了,我不知道为什么。主要项目被删除,但所有其他相应的项目保持不变。我检查了数据库,所有值都匹配。有没有办法检查 joomla 正在执行的完整查询?print_r$query没有给我任何可读性。

public function deleteRecords($order_ids, $tables) {
    foreach ($tables as $table) {
        foreach ($order_ids as $id) {
            $db = JFactory::getDbo();
            $query = $db->getQuery(true);
            $query->delete($db->quoteName('#__' . $table));
            $query->where('order_id=' . $id->order_id);
            $db->setQuery($query);
            try {
                $result = $db->query();
            } catch (Exception $e) {

            }
        }
    }

在哪里$order_ids$tables看起来像这样:

Array
(
    [0] => modeling
    [1] => exo_product
    [2] => shoe_production
    [3] => order_status
    [4] => hikashop_order
)
Array
(
    [0] => stdClass Object
        (
            [order_id] => 50
        )
)

我可能在某个地方犯了一些愚蠢的错误,但我已经做了 3 个小时了,但我无法让它工作:(

4

1 回答 1

0

我想到了。

我首先删除了主要条目,然后删除了所有其他条目。我交换了订单,现在它似乎工作了。我不知道为什么。在清除主要条目或其他内容后,可能会跳过删除功能。

于 2013-06-15T08:48:55.983 回答