Merhabalar,
Başlıkta da belirttiğim gibi 3 tane tablom var ve bunları birbirine bağlamak istiyorum. Yapmak istediğim şeyi anlatmaya çalışırsam;
Yukarıdaki resimde 3 tablonun birleşimi var. Tabloların yapısını da gösterecek olursam;
musteriler tablosu:
+------------+------------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------------+------+-----+---------+----------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| tc_no | varchar(11) | NO | | NULL | |
| fullname | varchar(200) | NO | | NULL | |
| cep_no1 | varchar(15) | NO | | NULL | |
| cep_no2 | varchar(15) | YES | | NULL | |
| sabit_no | varchar(15) | NO | | NULL | |
| adres | varchar(255) | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+------------+------------------+------+-----+---------+----------------+
senetler tablosu:
+-----------------+---------------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+-----------------+---------------------------+------+-----+-------------------+-----------------------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| musteri_id | int(10) unsigned | NO | | NULL | |
| senet_fiyati | decimal(11,2) | NO | | NULL | |
| pesinat_miktari | decimal(11,2) | NO | | NULL | |
| senet_tarihi | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| senet_durumu | enum('true','false') | NO | | NULL | |
| taksit_sekli | enum('esit','esit_degil') | NO | | esit | |
| odeme_gunu | int(10) unsigned | NO | | NULL | |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+-----------------+---------------------------+------+-----+-------------------+-----------------------------+
vadeler tablosu:
+--------------+------------------+------+-----+-------------------+-----------------------------+
| Field | Type | Null | Key | Default | Extra |
+--------------+------------------+------+-----+-------------------+-----------------------------+
| id | int(10) unsigned | NO | PRI | NULL | auto_increment |
| senet_id | int(11) | NO | MUL | NULL | |
| vade_miktari | decimal(11,2) | NO | | NULL | |
| vade_tarihi | timestamp | NO | | CURRENT_TIMESTAMP | on update CURRENT_TIMESTAMP |
| created_at | timestamp | YES | | NULL | |
| updated_at | timestamp | YES | | NULL | |
+--------------+------------------+------+-----+-------------------+-----------------------------+
Yukarıdaki 3 tabloya veri girişini ise şu form üzerinden yapmak istiyorum:
Nasıl bir Eloquent yapısı ve sorgusu oluşturmam gerekir acaba? Mesela şu tarzda bir şey olması gerekmiyor mu; ama aşağıdaki sorgu çalışmaz muhtemelen;
$musteri = Musteri::findOrCreate($request->all());
$musteri->senet->findOrCreate($request->all());
$musteri->senet->vadeler->findOrCreate($request->all());
Bunu tek sorguda yapsam senetin kaydedilmesinden sonra belki vadeler kaydedilmezse veritabanında veri bütünlüğü bozulur diye düşünüyorum. Rehberlik ederseniz çok sevinirim. Şimdiden çok teşekkürler.