Функциональность имитатора Codeigniter where_in () с простым выражением where () - PullRequest
0 голосов
/ 05 октября 2011

У меня есть метод, который может принимать переменную $ where. Затем он передается в $ this-> db-> where ($ where); заявление.

Я пытаюсь имитировать функциональность where_in () для одной конкретной функции.

У меня есть список идентификаторов либо в формате массива, либо в формате свернутой строки.

Я пытался передать $where=array('blog.ID IN'=>'1,3');

к методу безрезультатно.

Это вызывает WHERE блог . ID IN '1,3' выводится вместо WHERE blog . ID IN '1','3'

Может кто-нибудь посоветовать, как я могу использовать функцию codeigniters where (), чтобы имитировать, что делает ее функция where_in ()?

Спасибо

Ответы [ 2 ]

0 голосов
/ 05 октября 2011

Не могли бы вы сделать что-то подобное?

function your_db_thingie($where)
{
    $this->db->select('*');

    if (is_array($where))
    {
        $this->db->where_in('field', $where);
    }
    else
    {
        $this->db->where('field', $where);
    }

    return $this->db->get('database');
}
0 голосов
/ 05 октября 2011

Попробуйте:

$array = [1,3];
$where='blog.ID IN' . join(',', $array);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...