Merhabalar,
Satış ve İş emirleri olarak iki tablom var. Satıştan iş emirlerine bire çok bir ilişki bulunmakta.
Hazır satışları listelemem gerekiyor.
Bunun içinde iş emirlerinde bulunan ilgili satis_id'lerin tamamının durumunun 3 olması gerekiyor.
Örnek tablolar şu şekil.
satis
-----
-id
-tarih
.
.
is_emirleri
-----------
-id
-satis_id
-durum
.
.
.
Şöyle bir yol izledim;
Satis.php modelimde;
// ilgili satis_id'sinin tüm iş emirlerini aldık
public function isEmirleri()
{
return $this->hasMany("IsEmir","satis_id","id");
}
// ilgili satis_id'sinin iş emirlerinin durumu 3 olanlarını aldık
public function teslimAlinanIsEmirleri()
{
return $this->hasMany("IsEmir","satis_id","id")->where("durum",3);
}
// hazir diye bir sanal sütun açtık ve iş emirleri 1'den fazlaysa eşitlik durumlarına baktık.
public function getHazirAttribute()
{
if($this->isEmirleri->count()>0 &&
$this->isEmirleri->count() == $this->teslimAlinanIsEmirleri->count())
return 1;
else
return 0;
}
Sonuç olarak;
Satis::where("hazir",1)->get();
dediğim zaman hazır satışları getiriyorum.
Kafama takılan kullanmış olduğum yöntem doğru mu? Daha kestirme veya doğru yol var mı?
Teşekkürler.