2016-05-26 34 views
0

我正在Laravel Spark中工作,並將值插入到MySQL表中。我執行一系列插入物如插入到MySQL表中,進入單獨的行

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

的值被插入到表中正確的,但每個值被放置在其自己的行。有一個簡單的原因,但我沒有發現任何運氣做搜索。提前致謝。

+4

是,傻冒執行兩個獨立的插入,所以你會得到兩行插入....這就是但是,您可以使用多個值執行單個插入:'DB :: table('nameOfTable') - > insert(['id'=> $ user ['id'],'name' => $ user ['name']]);' –

+0

並查看[Laravel文檔](https://laravel.com/docs/5.2/queries#inserts)可能有幫助 –

+0

@Mark Ba​​ker請發表評論下次回答,好工作 –

回答

3

在你的問題中你有每行代碼被設計爲單獨插入一行。爲了在同一行中插入多個值(AKA在同一行中插入不同的列值),您所要做的就是在數組中添加更多的值以傳遞給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沒問題漢娜:)。哦,如果這個答案適合你,請接受它(綠色選中標記),以便將來的讀者和用戶知道它適合你。 – Webeng