2016-09-07 2 views
3

я получаю проблему в присоединиться к статье ... это мой код:Codeigniter удалить «(» в присоединиться к Пунктом

$this->db->select("users.id, users.first_name, users.second_name")->from("users"); 
$this->db->join("users_groups", "users_groups.user_id=users.id AND (users_groups.group_id=".$this->config->item("admin_group")." OR users_groups.group_id=".$this->config->item("admin_location_group")." OR users_groups.group_id=".$this->config->item("employee_group").")", "INNER"); 
return $this->db->get()->result(); 

И что она производит это:

SELECT `users`.`id`, `users`.`first_name`, `users`.`second_name` FROM `users` INNER JOIN `users_groups` ON `users_groups`.`user_id`=`users`.`id` AND `users_groups`.`group_id`=1 OR `users_groups`.`group_id`=8 OR `users_groups`.`group_id`=4) 

скобка перед тем users_groups. group_id = 1 удаляется ... любая идея о том, почему ??

Спасибо.

+1

Я считаю, что этот запрос имеет четвертый опциональный аргумент, что если вы установите значение true, не удалите данные, что может помешать синтаксическому анализатору удалить скобки (и остановить экранирование). Но это странно, конечно. Я не вижу ничего плохого в самом запросе. – PaulD

+0

Является ли ваш запрос 'WHERE users_groups.group_id = 1 ИЛИ users_groups.group_id = 8 ИЛИ users_groups.group_id = 4' после' AND'? – Benyi

+1

Спасибо @PaulD ... четвертый параметр - это решение (если вы поместите в качестве решения, которое я буду отмечать как хороший). –

ответ

2

В запросе Join есть четвертый опциональный аргумент: если вы установите значение true, это не приведет к выходу данных, что остановит парсер, удаляющий скобки (и прекращение экранирования).

От Docs:

присоединиться ($ таблица, $ конд [, $ типа = '' [, $ бежать = NULL]]) Параметры:

$table (string) – Table name to join 
    $cond (string) – The JOIN ON condition 
    $type (string) – The JOIN type 
    $escape (bool) – Whether to escape values and identifiers 

Возвращает:

CI_DB_query_builder instance (method chaining) 

http://www.codeigniter.com/user_guide/database/query_builder.html#CI_DB_query_builder::join

Смежные вопросы