2016-05-26 3 views
0

Я работаю в Laravel Spark и вставляю значения в таблицу MySQL. Я выполняю ряд вставок, такие какВставляет таблицу MySQL в отдельные строки

DB::table('nameOfTable')->insert(['id' => $user['id']]); 
DB::table('nameOfTable')->insert(['name' => $user['name']]); 

Значение будучи вставленным в таблицу должным образом, но каждое значение уделяется отдельной строка. Там должна быть простая причина, но я не нашел удачи в поиске. Заранее спасибо.

+4

Да, your'e выполняет две отдельные вставки, так что вы получите две строки вставлены .... это путь вставки ... однако вы можете сделать одну вставку с несколькими значениями: 'DB :: table ('nameOfTable') -> insert (['id' => $ user ['id'], 'name' => $ user ['name']]); ' –

+0

И, глядя в [Документы Laravel] (https://laravel.com/docs/5.2/queries#inserts), возможно, помогли –

+0

@Mark Baker, пожалуйста, сообщите, что как ответ в следующий раз, хорошая работа –

ответ

3

Каждая строка кода, содержащаяся в вашем вопросе, была предназначена для вставки строки сама по себе. Для того, чтобы вставить больше чем одно значение в той же строке (АКА вставлять различные значения столбцов в одной и той же строке), все, что нужно сделать, это включает несколько значений внутри массива, который передается в функцию insert:

DB::table('nameOfTable')->insert(['id' => $user['id'],'name' => $user['name']]); 

Предыдущая строка кода должна работать нормально. Я лично предпочитаю писать код следующим образом, так как он является более чистым, чтобы читать для нас, смертных XD:

DB::table('nameOfTable')->insert(array(
    'id' => $user['id'], 
    'name' => $user['name'] 
)); 
+0

Спасибо за ответ. Проблема в том, что я выполняю оператор if для каждой вставки перед ее вставкой; Полагаю, я мог бы вложить эти утверждения if в первую вставку, но я, вероятно, попытаюсь найти обход. Благодаря! – HannahHunt

+0

@ HannahHunt без проблем hannah :). О, и если этот ответ подходит для вас, примите его (зеленая галочка), чтобы будущие читатели и пользователи знали, что это сработало для вас. – Webeng

Смежные вопросы