【发布时间】:2016-05-03 14:00:53
【问题描述】:
我有一个 MySQL 查询是这样的:
SELECT * FROM tbl_post WHERE tbl_post.post_id NOT IN
(SELECT tbl_readsave.post_id FROM tbl_readsave)
我想把它转换成Codeigniter Active记录,所以我使用了以下代码段:
$this->db->select('tbl_readsave.post_id');
$queryReadSave = $this->db->get('readsave');
$this->db->where_not_in('post_id', $queryReadSave->result_array());
$queryNewPost = $this->db->get('readsave');
if($queryNewPost->num_rows()>0)
{
return $queryNewPost->result_array();
}
else
return false;
但是,代码向我抛出了一个错误,如下所示:-
Error Number: 1054
Unknown column 'Array' in 'where clause'
SELECT * FROM (`tbl_readsave`) WHERE `post_id` NOT IN (Array)
Filename: /var/www/html/teamF/tharjumal/models/webservice_model.php
Line Number: 28
如何将上述查询转换为 Codeigniter Active Records 格式?
【问题讨论】:
-
检查你的表名是
readsave或tbl_readsave -
实际上我已经在 database.php 文件中设置了 tbl 前缀。所以'post'意味着'tbl_post'
标签: php mysql codeigniter