积极记录不在

时间:2014-12-23 07:42:12

标签: activerecord codeigniter-2

 $this->db->query('DELETE FROM default_model WHERE cat_id NOT IN (SELECT id FROM default_category)');

此查询的有效记录格式

$query = $this->db->select('id')
                              ->get('category')->result();

                $this->db->where_not_in('cat_id',$query )
                        ->delete('model');

我尝试了很多但是无法做到。如何传递$ query

1 个答案:

答案 0 :(得分:0)

查询结果作为标准对象返回。因此,在将该数组传递给删除查询之前,需要从非关联数组中的返回对象中获取ID。

像这样:

$result = $this->db->select('id')->get('category')->result();
$ids = [];
foreach($result as $result)
     $ids[] = $result->id;

$this->db->where_not_in('cat_id', $ids)->delete('model');