5
私は、関連オブジェクトをlaravel 4にバッチ保存する必要がある状況に陥りました。私がやっていることは、オブジェクトの大量挿入です多くのタグを持っています(多対多の関係)。私は彼らの関係とすることにより、1対1の各オブジェクトを挿入することができますが、問題はどこ、私たちはCSV経由でこれらのオブジェクトを挿入一括ことですLaravel-4でリレーションを持つオブジェクトをバッチ挿入する
[...]
$batchData = array();
$rowCount = 0;
foreach ($dataArray as $key => $row) {
[...]
// parsing row from CSV
$obj = array();
foreach ($row as $attribute => $value) {
$obj['template_id'] = $templateId;
$obj['batch_id'] = $batchId;
$obj['user_id'] = $confideUserId;
$obj['created_at'] = new \DateTime;
$obj['updated_at'] = new \DateTime;
// Attach Tags if any exist
if ($attribute === 'tags') {
if (!is_null($value) || !is_empty($value)) {
$tags = explode(":", $value);
// TODO: Get tag ID for each tag and add to $obj['tags'] array
}
}
}
// add object to array
$batchData[$rowCount] = $obj;
++$rowCount;
if ($rowCount == \Config::get('app.maxCSV')) {
try {
// TODO: Batch Insert With Related tags??
$obj_model_name::insert($batchData);
} catch (Exception $e) {
return false;
}
$rowCount = 0;
$batchData = array();
}
}
[...]
:ここ
はTODOコメント気づく、いくつかのサンプルコードです数百から数十万のオブジェクトをどこにでも持つことができます。
誰にもヒントはありますか? FYIデータベースが使用されて
は、MSSQLは2012年
乾杯、さらにこの後に探して