Şöyle olabilir
public function Add(Request $request)
{
$data = [
'SITE_ID' => Auth::user()->kisi->SITE_ID,
'KODU' => $request->get('KODU'),
'ADI' => $request->get('ADI'),
'DAIRE_SAYISI' => $request->get('DAIRE_SAYISI'),
'ACIKLAMA' => $request->get('ACIKLAMA'),
];
$tesis = BLOK::create($data);
for($i=1;$i <= $data['DAIRE_SAYISI']; $i++) {
// DAIRE modeli ile bağlantınızın daireler() olduğunu varsayarsak
$tesis->daireler()->create([
// buraya daire bilgisi
]);
}
return redirect('/site/blok')->with('status','Kayıt başarıyla eklendi');
}
Elbette bu işlemi Model event ya da observer kullanarak yapmak daha uygun olacaktır:
// BLOK.php
public static function boot()
{
static::created(function($tesis) {
for($i=1;$i <= $model->DAIRE_SAYISI; $i++) {
$tesis->daireler()->create([
// buraya daire bilgisi
]);
}
});
parent::boot();
}
Ayrıca inceleyebileceğiniz saveMany yöntemi var, bakabilirsiniz.
https://laravel.com/docs/5.3/eloquent-relationships#inserting-and-updating-related-models
Verdiğim örneklerde genellikle kontrol kısımlarını yazmıyorum, kontrol, güvenlik vs artık size kalmış.