Русскоязычный форум, посвященный фреймворку Kohana
http://forum.kohanaframework.su/

Выборка нескольких элементов с разными id
http://forum.kohanaframework.su/viewtopic.php?f=33&t=376
Страница 1 из 1

Автор:  Serg [ 12 сен 2012, 13:37 ]
Заголовок сообщения:  Выборка нескольких элементов с разными id

Добрый день!

У меня возникла проблема при выборке с бд данных, вот у меня такой запрос:
Код:
$sql = "SELECT * FROM ". $this->_table ." WHERE id in (:ids)";

В :ids записываются id через запятую, которые нужно выбрать, например: $ids = '3,3,4,1,5,6'
но в кохане почему то выбирается только первый id, в данном случаи это '3'.

Но если вручную прописать id, то выбирает все id как и должно быть, вот так:
Код:
$sql = "SELECT * FROM ". $this->_table ." WHERE id in (3,3,4,1,5,6)";

В чем может быть проблема, может кто сталкивался с таким?

Автор:  mikpskov [ 12 сен 2012, 17:18 ]
Заголовок сообщения:  Re: Выборка нескольких элементов с разными id

Здравствуйте!

Если я правильно понял, то должна помочь функция DB::expr():

Код:
$ids = "3,3,4,1,5,6";
$sql = "SELECT * FROM ". $this->_table ." WHERE id in (:ids)";

$query = DB::query(Database::SELECT, $sql)
    ->param(':ids', DB::expr($ids));

Автор:  Serg [ 12 сен 2012, 18:17 ]
Заголовок сообщения:  Re: Выборка нескольких элементов с разными id

Спасибо проверю такой вариант.
А я решил это с помощью implode(',', $arr_id), только теперь id массивом передаю

Автор:  admin [ 12 сен 2012, 21:27 ]
Заголовок сообщения:  Re: Выборка нескольких элементов с разными id

В квери билдере если что можно прямо массив передавать. Например:
Код:
$articles = DB::select('name')
        ->from('articles')
        ->where('category_id', 'IN', $all_category);


где $all_category - это массив.

Автор:  Rush64 [ 14 сен 2012, 12:36 ]
Заголовок сообщения:  Re: Выборка нескольких элементов с разными id

видимо плейсхолдер сьедает запятые

Страница 1 из 1 Часовой пояс: UTC + 4 часа [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/