我正在创建多个自定义组件,当我删除一个组件中的条目时,它必须删除所有其他组件中具有相同键的条目。
我认为我很聪明,并且执行了以下操作,因此我不必为每个表重写代码。这曾经工作,但现在它停止工作,我无法弄清楚为什么。主要项目被删除但所有其他相应的项目保持不变。我检查了数据库,所有值都匹配。有没有办法检查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个小时了,我无法让它工作:(
答案 0 :(得分:0)
我明白了。
我首先删除了主要条目,然后删除了所有其他条目。我交换了订单,现在它似乎工作。我不知道为什么。也许在主要条目被清除之后跳过了删除功能。