我想通过数组从控制器发送2个字符串到模型并从db获取结果,但是我遇到了一个问题。
我的控制器就像:
$data = array();
if($query = $this->authors_model->get_authors_list(array('author_Type' => array('admin', 'author'))))
{
$data['authors'] = $query;
}
我的模特:
function get_authors_list($options = array())
{
if(isset($options['author_Type']))
$this->db->where('author_Type', $options['author_Type']);
$this->db->order_by('author_Id', 'ASC');
$query = $this->db->get('mg_authors');
return $query->result();
}
和我得到的错误:
遇到PHP错误
严重性:注意
消息:数组到字符串转换
文件名:database / DB_active_rec.php
行号:427
错误号码:1054
'where子句'中的未知列'Array'
SELECT * FROM(
mg_authors
)WHEREauthor_Type
=数组ORDER BYauthor_Id
ASC LIMIT 15文件名:D:\ xampp \ htdocs \ sport \ system \ database \ DB_driver.php
行号:330
答案 0 :(得分:3)
放置数组时需要使用WHERE IN。在CodeIgniter中,它需要这样做:
$this->db->where_in('author_Type', $options['author_Type']);