Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/229.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
第二个循环(PHP、Codeigniter)中循环错误的DB查询_Php_Codeigniter_Loops - Fatal编程技术网

第二个循环(PHP、Codeigniter)中循环错误的DB查询

第二个循环(PHP、Codeigniter)中循环错误的DB查询,php,codeigniter,loops,Php,Codeigniter,Loops,一个简单的循环遍历数组并删除数据库记录 控制器: foreach ($deletedTags as $deletedTag) { $tagId = $this->tags_model->get_tag_id($deletedTag); $this->tags_model->delete_tag_association_by_tag($workId, $tagId); } $deletedTags是一个数组,例如: Array ( [0] =>

一个简单的循环遍历数组并删除数据库记录

控制器:

foreach ($deletedTags as $deletedTag) {
    $tagId = $this->tags_model->get_tag_id($deletedTag);
    $this->tags_model->delete_tag_association_by_tag($workId, $tagId);  
}
$deletedTags
是一个数组,例如:

Array ( [0] => purple [1] => trees [2] => green ) 
型号:

function get_tag_id($tag) {
    $this->db->where('tags.name', $tag);
    $query = $this->db->get(self::TABLE);
    return $query->row()->id;
}
$deletedTags
中只有一个值时,它可以正常工作。当有多个值时,模型函数
get\u tag\u id($tag)
在第二个循环中中断。它在
return$query->row()->id行出现错误带有:

Undefined property: stdClass::$id

知道为什么吗?我已经解决了。出于某种原因,它会出错,因为它只能在数据库中找到数组中的第一个标记(即使其他标记确实存在于数据库中)。我加了一个标签检查,一切都很好

foreach ($deletedTags as $deletedTag) {
    if ($this->tags_model->tag_exists($deletedTag)) {
        $tagId = $this->tags_model->get_tag_id($deletedTag);
        $this->tags_model->delete_tag_association_by_tag($workId, $tagId);
    }
}

奇怪。

如果不知道$deletedTags是什么,几乎不可能完全回答您的问题-它是单个数组还是多维数组,还是对象?