Вызов функции СУБД через Query builder
Вызов функции СУБД через Query builder
Здравствуйте. Есть БД под управлением PostgreSql. В БД программистом написаны функции. Как мне через построитель запросов вызывать эти функции? В функцию также нужно передать параметры.
Re: Вызов функции СУБД через Query builder
Код: Выделить всё
$query->select('func_name(646031, 1)');
$command = $query->createCommand(Yii::$app->db);
$rows = $command->queryAll();
У второго параметра есть значение по-умолчанию (0 - integer). Если его не указывать, то нормально отрабатывает.SQLSTATE[42601]: Syntax error: 7 ОШИБКА: ошибка синтаксиса в конце
LINE 1: SELECT func_name(646031, "1)"
^
The SQL being executed was: SELECT func_name(646031, "1)"
Re: Вызов функции СУБД через Query builder
Попробуй через Expression или массив
Re: Вызов функции СУБД через Query builder
Код: Выделить всё
$query->select(['func_name(646031, 1)']);
$command = $query->createCommand(Yii::$app->db);
$rows = $command->queryAll();
Re: Вызов функции СУБД через Query builder
Отлично. Домашнее задание: почему со строкой не прокатило? )psevdo писал(а): ↑2018.08.02, 11:12Вот так получилось.Код: Выделить всё
$query->select(['func_name(646031, 1)']); $command = $query->createCommand(Yii::$app->db); $rows = $command->queryAll();
Re: Вызов функции СУБД через Query builder
Наверняка знаешь. Сейчас нет времени думать над этим) Начальство требует. Выкладывай.
И спасибо за наводку)
И спасибо за наводку)