2016-04-06 2 views
1

Я пытаюсь вставить несколько строк данных в таблицу MySQL, но вставляется только первая строка. Вот код в моем контроллере.laravel множественные вставки в MySQL

DB :: table("users_has_activities") -> insert 
(
array("usersID" => $userId, "activitiesID" => 1, "time" => $datetime, "value" => 1, 
"multiplier" => 1), 


array("usersID" => $userId, "activitiesID" => 2, "time" => $datetime, "value" => 1, 
"multiplier" => 1), 

array("usersID" => $userId, "activitiesID" => 3, "time" => $datetime, "value" => 1, 
"multiplier" => 1) 
); 

Я могу сделать это таким образом, но я ищу лучший способ.

DB :: table("users_has_activities") -> insert 
(
array("usersID" => $userId, "activitiesID" => 1, "time" => $datetime, "value" => 1, 
"multiplier" => 1) 
); 

    DB :: table("users_has_activities") -> insert 
(
array("usersID" => $userId, "activitiesID" => 2, "time" => $datetime, "value" => 1, 
"multiplier" => 1) 
); 


DB :: table("users_has_activities") -> insert 
(
array("usersID" => $userId, "activitiesID" => 3, "time" => $datetime, "value" => 1, 
"multiplier" => 1) 
); 

ответ

1

Вы пытаетесь передать массив, но вы забыли добавить array():

DB::table("users_has_activities") -> insert(array(
array("usersID" => $userId, "activitiesID" => 1, "time" => $datetime, "value" => 1, 
"multiplier" => 1), 

array("usersID" => $userId, "activitiesID" => 2, "time" => $datetime, "value" => 1, 
"multiplier" => 1), 

array("usersID" => $userId, "activitiesID" => 3, "time" => $datetime, "value" => 1, 
"multiplier" => 1) 
)); 
Смежные вопросы