我想将数组传递给有查询的模型。我不知道如何正确地传递数组,或者如果我必须以某种方式操作数组。codeigniter传递数组以查询
我有这样的阵列:
Array
(
[0] => 1
[1] => 2
)
我有此线的控制器:
$ratings = $this->login_model->get_ratings($mechanicIds); // get the mechanic ratings
我有这样的模型:
function get_ratings($mechanicId)
{
$sql = "select m.mechanic_id,
m.mechanic_name,
m.city,
m.state,
count(mr.rating_id) as num_ratings,
round(avg(mr.rating_id),2) avg_rating
from mechanic m, mechanic_rating mr, rating r
where m.mechanic_id in (?)
and m.mechanic_id = mr.mechanic_id
and mr.rating_id = r.rating_id";
$query = $this->db->query($sql, $mechanicId);
if($query->num_rows() > 0)
{
return $query->result_array();
}
else
{
return false;
}
}
它实际上返回的结果,但问题是它只返回结果1行,当它应该返回2,因为我的数组中有2个结果。任何人都知道我做错了什么?
数组中的元素,都被用于WHERE在查询条款? – kushalbhaktajoshi 2011-03-03 02:37:11
是的,我试图使用他们的行“在哪里m.mechanic在(?)” – Catfish 2011-03-03 21:44:25