2016-08-24 158 views
4

之間的差異我一直在試圖找出哪一個使用時,如果我甚至應該使用兩者。Laravel DB :: insert()和DB :: table() - > insert()

一直在看Laravel文檔,他們都在那裏。從我能做出來的,DB::insert()提供比DB::table()->insert()更多的「定製」查詢。

任何人都可以澄清究竟是什麼在兩者之間的差異,當涉及到如何以及何時使用哪些?

回答

10
  • DB::insert()對於raw sql queries。例如:

    DB::insert('insert into users (id, name) values (?, ?)', [1, 'Dayle']);

  • DB::table()->insert()query builder。例如:

    DB::table('users')->insert( ['email' => '[email protected]', 'votes' => 0] );

查詢生成器編譯成原始的SQL查詢條件,但因爲它是更方便易

+0

這就是我想這是我使用它。但是與其他人相比,哪個更適合?例如,我不知道如何在查詢生成器中使用「插入忽略」,所以我選擇了原始的sql。 那麼在使用它們中的任何一個時都有什麼優點和缺點? –

+0

你已經回答了你的問題。查詢生成器適用於大多數情況,如果你需要一些特定的 - 使用原始查詢。沒有優點和缺點,他們以不同的方式做同樣的事情。查詢生成器更加方便和可讀 - 就這些。 –

+0

真棒,謝謝冠軍:) –