Где_в ​​в codeigniter

Я использую Codeigniter 3 для создания веб-сайта. Но теперь у меня проблема с получением данных из базы данных.

это моя модель:

public function Get($arr_condition = null)
{
     if (!is_null($arr_condition))
     {
        $this->db->where($arr_condition);
     }
     $query = $this->db->get('cus');
     if ($query->num_rows()>0)
     {
        return $query->result_array();
     }
     return false;
}

В контроллере я использую массив ($ arr_condition) для получения условного списка:

$arr_condition['Cus_team'] =  1;
$arr_condition['Cus_user != '] =  2;
$arr_condition['Cus_phone LIKE'] = 09900000;
$arr_condition['Cus_role >'] = 1;

$result = $this->M_cus_dal->Get($arr_condition);

Мой код работает отлично, пока мне не понадобится условие с Where_in, я попробовал:

$arr_condtion['Cus_id IN']= array('1,2,3');

Но это не сработает.

Пожалуйста, дайте мне идеал для решения этой проблемы.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
2
0
11 931
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Ответ принят как подходящий

Надеюсь, что это поможет вам :

Вы можете сделать что-то вроде этого:

В контроллере передайте ваше условие where_in с другим параметром, подобным этому

$where_in = array('1,2,3');
$result = $this->M_cus_dal->Get($arr_condition,$where_in);

В методе модели получите $where_in в качестве второго параметра и добавьте его в предложение where_in следующим образом:

public function Get($arr_condition = null,$where_in = NULL)
{
     if (!is_null($arr_condition))
     {
        $this->db->where($arr_condition);
     }
     if (! empty($where_in))
     {
       $this->db->where_in('Cus_id',$where_in);
     }
     $query = $this->db->get('cus');
     if ($query->num_rows()>0)
     {
        return $query->result_array();
     }
     return false;
}

Спасибо @pradeep, я попробовал первый способ, но результат в mysql - Cus_id = 'IN (1,2,3)'. Так что попробую второй способ.

Thinh.tran 15.06.2018 09:03

а второй способ - гораздо лучший способ получить желаемый результат

Pradeep 15.06.2018 09:04

должно быть похоже на этот $arr_condtion['Cus_id IN '] = '(1,2,3)';, проверьте, работает он или нет, но предпочитайте второй способ, пожалуйста, дайте мне знать

Pradeep 15.06.2018 09:08

Спасибо @pradeep, я попробовал второй способ, и он работает правильно. Теперь у меня нет больше времени, поэтому я оптимизирую свою функцию на основе вашего идеала. Еще раз спасибо!

Thinh.tran 16.06.2018 09:43

Извините, вчера я использовал смартфон, чтобы проверить ваш ответ зеленым. Но я не понимаю сегодня чек, пока не проверил. :(

Thinh.tran 17.06.2018 15:46

Если вы используете where_in, тогда ваши идентификаторы должны быть в массиве

как это:

$where_in[] = 1;
$where_in[] = 2;
$where_in[] = 3;

ИЛИ ЖЕ

$where_in = array('1','2','3');


$this->db->where_in('Cus_id', $where_in);

Другие вопросы по теме