2016-08-24 12 views
4

私はいつどちらを使うのか、そして両方を使うべきかを考えようとしています。Laravel DB :: insert()とDB :: table() - > insert()の相違点

Laravelドキュメントを見ているうちに、両方ともそこにあります。私がそれから作ることができるものから、DB::insert()DB::table()->insert()よりも「テーラーード」なクエリを提供します。

どのようにいつ、どのように使用するかについては、2つの違いが正確に分かるでしょうか? raw sql queriesため

答えて

10
  • DB::insert()。例:query builderため

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

  • DB::table()->insert()。例:

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

クエリビルダは、生のSQLクエリに条件をコンパイルし、それははるかにconvinient

+0

私はそれだった考え出したものだそれだから、私はそれを使用しています。しかし、他のものと比較して好むものはありますか?たとえば、Query Builderで「insert ignore」を使用する方法がわからなかったため、raw SQLを選択しました。 どちらかを使用する際に考慮すべき賛否両論はありますか? –

+0

あなたはあなたの質問に答えました。クエリービルダーは、特定の用途の生のクエリーが必要な場合、最も一般的なケースです。賛否両論はありません。同じことを違う方法で行います。クエリービルダーはより便利で読みやすい - それだけです。 –

+0

素晴らしい、ありがとう、チャンピオン:) –

関連する問題