Laravel Eloquent – ​​Могу ли я использовать массив в качестве списка столбцов для оператора INSERT?Php

Кемеровские программисты php общаются здесь
Ответить Пред. темаСлед. тема
Anonymous
 Laravel Eloquent – ​​Могу ли я использовать массив в качестве списка столбцов для оператора INSERT?

Сообщение Anonymous »

Я создаю веб-сайт виртуального магазина и пытаюсь создать страницу регистрации продукта.
Некоторые поля формы продукта не являются обязательными, поэтому я нужен способ заставить мой контроллер добавлять только те столбцы, которые соответствуют полученным входным данным.
Я пробовал сделать это с помощью ассоциативного массива, где ["имя-столбца" =>"column-input"], но когда я попробуйте запустить запрос, Laravel рассматривает все строки массива как разные запросы на вставку только с первым столбцом БД, например:

Код: Выделить всё

SQL: insert into `produtos` (`nome`) values (Smartphone Samsung Galaxy A34 128GB), (Marca:Samsung Modelo:Galaxy), (1),[...]
Желаемое поведение будет следующим:

Код: Выделить всё

SQL: insert into `produtos` (`nome`,`descricao`,`ativado`,[...]) values ("Smartphone Samsung Galaxy A34 128GB","Marca:Samsung Modelo:Galaxy", 1,[...])
Вот код контроллера:

Код: Выделить всё

    public function insert($post){
$campos = Array();   // fields array
foreach($post as $key=>$value){
array_push($campos,[$key=>$value]);
}

$query = DB::table('produtos')->insert($campos);
return $campos['url'];
}
Можно ли как-нибудь этого добиться?

Подробнее здесь: https://stackoverflow.com/questions/774 ... t-statemen
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «Php»