добрый день
вот это запрос нормьно работает
SELECT
users.id, users.username, users.gender, users.bdate,
photos.name as foto,
cities.name as city, countries.name_en as country
FROM (users) LEFT JOIN photos ON photos.user_id =
users.id LEFT JOIN
cities ON
cities.id = users.city_id LEFT JOIN countries ON
countries.id = cities.country_id
WHERE `users`.`id` <> 1 AND `users`.`gender` = 1 AND
cities.country_id=1012
function get_users($where = array(),$limit = FALSE, $offset = FALSE)
{
$this->db->select($this->table.'.id,'.$this->table.'.username,'.
$this->table.'.gender,'.$this->table.'.bdate');
$this->db->select($this->photos_table.'.name as foto' );
$this->db->join($this->photos_table, $this->photos_table.'.user_id =
'.$this->table.'.id', 'left');
$this->db->select('
cities.name as city');
$this->db->join('cities', '
cities.id = users.city_id', 'left');
$this->db->select('countries.name_en as country');
$this->db->join('countries', '
countries.id = cities.country_id',
'left');
foreach ($where as $v){$this->db->where($v);}
$this->db->group_by("
users.id");
if ($limit !== FALSE)
{
$this->db->limit($limit);
}
if ($offset !== FALSE)
{
$this->db->offset($offset);
}
$query = $this->db->get($this->table);
echo $this->db->last_query();
return $query->result();
}
при таком вызове
$where = array("
users.id <> 1 ","users.gender = $gender");
$this->users_model->get_users($where , $this->pagination->per_page,
$page);
всё работает
но как только я добавляю
$where = array("
users.id <> 1 ","users.gender =
$gender","cities.country_id = $country_id");
что должно быть эквиваленто верхнему sql запросу
то выходит ощибка
Unknown column 'cities.country_id' in 'where clause'
SELECT id FROM (users) WHERE `users`.`id` <> 1 AND `users`.`gender` =
1 AND `cities`.`country_id` = 1012
подскажите что я делаю неправильно ?