Русскоязычный форум, посвященный фреймворку Kohana

Все о фреймворке Kohana. Обсуждение уроков, документации.
Текущее время: 28 мар 2024, 17:01

Часовой пояс: UTC + 4 часа [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 5 ] 
Автор Сообщение
СообщениеДобавлено: 12 сен 2012, 13:37 
Не в сети
Новичок

Зарегистрирован: 03 сен 2012, 11:38
Сообщения: 11
Добрый день!

У меня возникла проблема при выборке с бд данных, вот у меня такой запрос:
Код:
$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)";

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 сен 2012, 17:18 
Не в сети
Зеленый

Зарегистрирован: 27 авг 2012, 17:18
Сообщения: 1
Здравствуйте!

Если я правильно понял, то должна помочь функция 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));


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 сен 2012, 18:17 
Не в сети
Новичок

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


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 12 сен 2012, 21:27 
Не в сети
Администратор
Аватара пользователя

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


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

_________________
kohanaframework.su - обучение фреймворку Kohana


Вернуться к началу
 Профиль  
 
СообщениеДобавлено: 14 сен 2012, 12:36 
Не в сети
Бывалый

Зарегистрирован: 06 авг 2012, 22:39
Сообщения: 91
видимо плейсхолдер сьедает запятые


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 5 ] 

Часовой пояс: UTC + 4 часа [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 11


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
Все о фреймворке Kohana  | 
Powered by phpBB® Forum Software © phpBB Group