powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Kohana database использование LIKE и параметра
6 сообщений из 6, страница 1 из 1
Kohana database использование LIKE и параметра
    #39205650
Золотов Константин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.
Использую Кохану.
Есть модель (выводит список регионов) Model_Region
Код: php
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
class Model_Region extends Model {
        
        public function getRegions($param){
            $sql = 'SELECT name as value, id FROM regions ';
            $sql .= 'WHERE (name LIKE "%:p%")'; 
            $query = DB::query(Database::SELECT, $sql);
            $query->param(':p', $param);
            $db = $query->execute();
            return $db;
        }
        
        public function get_allRegion(){
            $db = DB::select(array('name', 'value'), 'id')
                    ->from('regions')
                    ->where('state', '=', '1')        
                    ->execute()
                    ->as_array();
            return $db;
        }
}


Все регионы выводит, а при попытке по условию сделать запрос, то выводит, что запрос пустой.
То есть передаю букву "К"и возвращает пустое значение.
С помощью вывода echo я убедился, что буквы передаются корректно.
По документации смотрел про параметры, но там нет для случая с LIKE
Как мне решить данную проблему
...
Рейтинг: 0 / 0
Kohana database использование LIKE и параметра
    #39205768
Фотография П.С.М.
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Золотов КонстантинКак мне решить данную проблему
- Почитать документацию к Вашей СУБД относительно LIKE и её параметров;
- Взять текст запроса из переменной $sql и попробовать исполнить его штатными средствами поставляемыми с СУБД (должен ведь быть какой-нибудь штатный редактор запросов/консольная утилита/терминал).
- Обратить внимание на используемые символы " и ' в запросе (вполне возможно, что это может быть существенно для СУБД)).
- Стоит попробовать посмотреть запрос, который генерируется для метода get_allRegion и посмотреть как там оформлены параметры для where.
- Внимательнее поискать описание для этой штуки (DB::), вполне возможно, уже реализован метод ->like, как уже сделано для ->from и ->where :)

Для начала как то так.

ЗЫ: не знаю, имеет ли это значение для пхп, но:
в методе get_allRegion вы возвращаете ->as_array();, думаю что в методе getRegions имеет смысл делать так же, т.к.
Золотов Константинпередаю букву "К"
на букву "К" существует несколько регионов :), потому могу предположить, что и в getRegions возврат нужно делать ->as_array()
...
Рейтинг: 0 / 0
Kohana database использование LIKE и параметра
    #39205886
MikkiMouse
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Золотов Константин,

Золотов КонстантинИспользую Кохану.

Сей мощный инструмент уже при смерти. Переводи на более современный фреймворк , пока не поздно.
...
Рейтинг: 0 / 0
Kohana database использование LIKE и параметра
    #39205907
Золотов Константин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П.С.М.,
Спасибо, ваш совет помог, банальнейшая опечатка и "замыленные глаза"
...
Рейтинг: 0 / 0
Kohana database использование LIKE и параметра
    #39205909
Золотов Константин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,

Ох, обрадовали меня :(
Мудыкался разбирался.
Мне нужен легкий и для быстрого старта, сроки горят
Спасибо, посмотрю варианты и выберу.
...
Рейтинг: 0 / 0
Kohana database использование LIKE и параметра
    #39205916
Золотов Константин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MikkiMouse,

Хотя, многие используют ее еще, не думаю, что Кохана должна умирать.
Yii слишком "монстрообразен".
Боюсь у меня нет времени разбираться с другими фреймворками
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PHP, Perl, Python [игнор отключен] [закрыт для гостей] / Kohana database использование LIKE и параметра
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]