私はModel :: insert()について知っていますが、その関連関係はどうですか?Laravel Multi Insertionとその関係
私たちは、フォーム送信後、我々は100疑問を持つことができます知っているが、対応する質問は、私たちの質問データはこの
$question = [
'1' =>[
'name'='Who is first president of America'?
...
]
...
'100' =>
'name' = 'When did Christopher Colombus discovered America'
....
...
]
$answers = [
'1'=>
[
'1' => 'Wilston Churcil',
'2' => 'George Washinton'
....
]
...
...
]
$correct_answer = [
'1'=>['2']
...
]
のような関係
-
を見て(複数の選択肢の質問については)約4答え
- 質問には多くの回答があります
- 質問には多くの正解があります 我々はlaravelのために行っていない場合我々は明らかにそうでないと、私たちは、n + 1つの問題を実行すると、100の質問のために私たちは、おそらく必要があるかもしれ作成見ることができます一度
を持っています
に多くの質問をアップロードしようとしている
100 + 400 + 100クエリは非常に非効率的ですか?
質問の場合::挿入()が、それは簡単だろう挿入質問のIDを返したが、それはただのn + 1つの問題を使用せずに、このような問題を解決するために、とにかくそこ..です
ブールを返します。私は、n + 1とバックグラウンドジョブを使用してみましたが、それは本当に非常に遅いです:(
溶液やハックはOKだろう:(
https://laravel.com/docs/5.4/eloquent-relationships#inserting-and-updating-related-modelsには、モデルオブジェクト経由で挿入するオプションがあります。 'saveMany'はあなたが必要とするように見えます – apokryfos
はn + 1問題を作成しませんか? あなたはすべての質問をすべて掴んで保存し、回答とそれに対応する回答を挿入する必要がありますか? – user80946
次の質問を挿入する前に質問とその回答を挿入することは考えられません。また、N + 1の問題は、挿入ではなく選択で行うことです。 – apokryfos