Какой правильный метод в where_in? - PullRequest
0 голосов
/ 07 октября 2019

я хочу получить данные используя where в условии

мой код ниже

SELECT `cuc_UserCardsDetail`.*, `cuc_CreditCardType`.`varValidName`
FROM (`cuc_UserCardsDetail`)
JOIN `cuc_CreditCardType` ON `cuc_CreditCardType`.`intGlCode` = 
`cuc_UserCardsDetail`.`fk_CardTypeGlCode`
WHERE `cuc_UserCardsDetail`.`intGlCode` IN ('10,29') 
AND `chrAccountType` =  'M'
ORDER BY `dtCreateDate` desc

теперь я привел одну строку, фактически в моей таблице есть две строки со связанным идентификатором

Я думаю, что проблема в In ('10, 29 '), но я хочу, чтобы (' 10 ',' 29 ') или (10,29), как я могу сделать в codeigitor?

Я хочу (10,29) или ('10', '29'), где в ..

Ответы [ 4 ]

4 голосов
/ 07 октября 2019

В конструкторе запросов CI используйте

$id= array('10', '20'); # or direct assing your input params
$this->db->where_in('column_name', $id);

Чтение Поиск конкретных данных - Codeigniter.com

2 голосов
/ 07 октября 2019

Метод цепочки примет массив в where_in

$intGlCode = array(10, 29);
$this->db->select('`cuc_UserCardsDetail`.*, `cuc_CreditCardType`.`varValidName`');
$this->db->from('cuc_UserCardsDetail');
$this->db->join('cuc_CreditCardType','cuc_CreditCardType.intGlCode = 
cuc_UserCardsDetail.fk_CardTypeGlCode');
$this->db->where('chrAccountType','M');
$this->db->where_in('cuc_UserCardsDetail.intGlCode',$intGlCode);
$this->db->order_by('dtCreateDate','DESC');
$data = $this->db->get()->result_array();
1 голос
/ 07 октября 2019

Ваш запрос выглядит примерно так:

Вы должны определить столбец chrAccountType из какой таблицы, здесь я предполагаю его из cuc_UserCardsDetail

$this->db->select('ud.*, cc.varValidName');
$this->db->where_in('ud.intGlCode', ['10','29']);
$this->db->where('ud.chrAccountType', 'M');
$this->db->order_by('dtCreateDate', 'desc');
$this->db->join('cuc_CreditCardType cc', 'cc.intGlCode = ud.fk_CardTypeGlCode');
$data = $this->db->get('cuc_UserCardsDetail ud')->result_array();



 print_r($data);
0 голосов
/ 07 октября 2019

функция where_in () только для массива данных.

$ids = array();
$this->db->where_in('id', $ids);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...