Русское сообщество разработки на PHP-фреймворке Laravel.
Ты не вошёл. Вход тут.
Страницы 1
Добрый день. Как можно сделать запрос через DB:: INSERT ON DUPLICATE KEY UPDATE. Через Model мне совсем не подходит. Модель слишком раздутая и сложная получится. Вчера смотрел и смотрел, так и не получилось ничего сваять((
Изменено Ruzarh (21.03.2014 13:16:12)
Не в сети
сделал вот так
$table = 'table';
$fields = 'field_1, field_2';
$insertStr = '(1,2), (2,3), (3,4)'
DB::insert("INSERT INTO `{$table}` ({$fields}) VALUES {$insertStr} ON DUPLICATE KEY UPDATE `count`=`count` + VALUES(`count`)");
но чет мне подсказывает, что это не идеальное решение (((
Не в сети
Я бы рад, но как?
$values = [
[],
[],
[]
];
DB::insert('insert into users (id, name) values (?, ?), (?, ?), (?, ?)', $values);
как же мне заполнять values (?, ?), (?, ?), (?, ?) они динамические
Или каждый раз формировать стек вот этих значений ручками? Или может есть другое решение? В той доке ни слова об этом нет((
Изменено Ruzarh (21.03.2014 15:55:18)
Не в сети
Не в сети
На самом деле это спорно. Вернее я бы поспорил что это удобно.
$petIds = array(1,2,3);
...
->where('pet_id IN (?)', $petIds);
правда обертка над зендовой оберткой, но вполне себя оправдывает.
IN (?, ?, ...) а вот такой стайл совсем себя не оправдывает. Получается куча шаверма кода перед запросом. Если честно то вот такими штуками ларавель начал подрывать к себе любовь в моих глазах((
Но спасибо огромное!
Не в сети
Не в сети
Страницы 1