Merhaba arkadaşlar
çoklu kayıt yaptırıyorum
yanlız şöyle bir olay fark ettim
ben örnegin 250 tane hayvan kaydediyorum
transaction ile
her bir hayvan için bir fatura oluşturuyor
ve her bir fatura için bir ödeme oluşturuyor
deneme yaptım 25k kayıt oluşturdum 🙂
25k fatura 25k ödeme oldu
halbuki tek bir alıma ait bu hayvan sayısı sadece degişmeli
bunu nasıl düzelte bilirim
kodlarım aşagıdaki gibidir.
public function girisTopluStore(Request $request)
{
DB::transaction(function () use ($request){
$hayvanSayisi = $request->hayvan_sayisi;
for ($i = 0; $i < $hayvanSayisi; $i++) {
$input['kupe'] = $request->kupe;
$input['anne_kupe'] = $request->anne_kupe;
$input['tur_id'] = $request->tur_id;
$input['baba_kupe'] = $request->baba_kupe;
$input['irk_id'] = $request->irk_id;
$input['renk_id'] = $request->renk_id;
$input['padok_id'] = $request->padok_id;
$input['status'] = $request->status;
$input['yas'] = $request->yas;
$input['donem'] = $request->donem;
$input['agirlik'] = $request->agirlik;
$input['yukseklik'] = $request->yukseklik;
if ($request->cinsiyet == 0)
$input['cinsiyet'] = 0;
elseif ($request->cinsiyet == 1)
$input['cinsiyet'] = 1;
elseif ($request->cinsiyet == null)
$input['cinsiyet'] = 0;
if ($request->hamilelik_status != null)
$input['hamilelik_status'] = $request->hamilelik_status;
else
$input['hamilelik_status'] = null;
if ($request->hamilelik_zaman != null)
$input['hamilelik_zaman'] = $request->hamilelik_zaman;
else
$input['hamilelik_zaman'] = null;
if ($request->hamilelik_sayi != null)
$input['hamilelik_sayi'] = $request->hamilelik_sayi;
else
$request->hamilelik_sayi = null;
$input['alis_fiyat'] = $request->alis_fiyat;
$input['satin_alina_yer'] = $request->satin_alina_yer;
$input['aciklama'] = $request->aciklama;
$input['dogum_tarih'] = $request->dogum_tarih;
$input['satin_alma_tarih'] = $request->satin_alma_tarih;
$insert = Hayvan::create($input);
if ($insert){
$hayvan_id = $insert->id;
$giris = new HayvanGiris;
$giris->cari_id = $request->cari_id;
$giris->toplam_tutar = $request->alis_fiyat;
$giris->tarih = $request->satin_alma_tarih;
$giris->aciklama = $request->aciklama;
$giris->save();
$girisId = $giris->id;
//GirisHareket Model
$girisHareket = new HayvanGirisHareket;
$girisHareket->giris_id = $girisId;
$girisHareket->hayvan_id = $hayvan_id;
$girisHareket->fiyat = $request->alis_fiyat;
$girisHareket->tarih = $request->satin_alma_tarih;
$girisHareket->save();
$odemeler = new HayvanGirisIslem;
$odemeler->giris_id = $girisId;
$odemeler->tarih = $request->satin_alma_tarih;
$odemeler->cari_id = $request->cari_id;
$odemeler->odeme_tip_id = $request->odeme_tip_id;
$odemeler->odenen_tutar = $request->odenen_tutar;
$odemeler->save();
$resim = new HayvanResim;
$resim->vitrin = 1;
$resim->hayvan_id = $hayvan_id;
if ($request->tur_id == 1)
$resim->resim = "buyukbas.jpg";
elseif ($request->tur_id == 2)
$resim->resim = "kucukbas.jpg";
elseif ($request->tur_id == 3)
$resim->resim = "binek.jpg";
elseif ($request->tur_id == 4)
$resim->resim = "kanatli.jpg";
elseif ($request->tur_id == 5)
$resim->resim = "kopek.jpg";
elseif ($request->tur_id == 6)
$resim->resim = "kedi.jpg";
$resim->save();
}
}
});
Session::flash('flash_message','Veriler Kaydedildi !');
return redirect('hayvan/giris')->with('status_color','success');
}
yani izah etmek gerekirse
toplu işlemlerde kaç hayvan olursa olsun tek bir giris faturası yani HayvanGiris
tekbir HayvanGirisIslem
yani ödeme olması gerekir tek tek her bir hayvan için ödeme mi yapacak adam
yardımcı olacak kimse varmı acaba ?