12

いくつかのメトリックに基づいて集計カウントを保存するワーカー スクリプトの 1 つで、クエリが少し複雑であり、クエリ ビルダーを使用して簡単に記述できるため、Eloquent を使用していません。現在、データベースから値を取得しており、データベースに挿入/更新する必要があります。Query Builder を使用して save() メソッドを使用して upsert 操作を実行できますか? または、このエントリがデータベースにあるかどうかを毎回確認する必要がありますか?

合計 100,000 のエントリがあり、毎日の仕事として実行したいと考えています。したがって、特定のエントリが DB に存在するかどうかを確認する必要がある場合は、データベースに何度もアクセスする必要があります。これに対する代替ソリューションはありますか?

1 つは Eloquent を使用し、もう 1 つはクエリ ビルダーを使用して、2 つのモデル クラスを作成することを考えています。カスタムクエリを Eloquent モデルで使用できますか?

4

3 に答える 3

14

EloquentにはupdateOrCreate()、やりたいことを正確に実行できる方法があります。しかし、Query Builder には同様の方法がありません。

Query Builder で生のクエリを作成し、INSERT ... ON DUPLICATE KEY UPDATEを upsert ソリューションとして使用できます。

于 2016-06-10T06:20:22.533 に答える