Zend PHP bir model wthin tabloları birleştirme

2 Cevap php

Ben Zend Framework için nispeten yeni duyuyorum.

Ben Zend_Table kullanımını anlamak ve bu sınıf ile ilişkili tablodan Zend fonksiyonlarını kullanarak veri elde edebilirsiniz.

Örneğin ben bir video tablo var ve başka bir tabloda ben video ve hangi kategori içeri arasındaki ilişki var

Nasıl aktif bir seçme çerçevesinde aşağıdaki gibi biraz şaşkına im:

SEÇİN * video kategori WHERE category.category_id = 3 VE video.id = category.video_id

Ben video tabloya atıfta video model içinde bunu yapmak istiyoruz.

Teşekkürler.

2 Cevap

Burada kaba bir sınıftır. Onun Zend db adaptörünü kullanarak doğrudan böylece Zend_Db_Table nesne ilişkinin gerçekten farkında değil, ama çalışır.

class Video extends Zend_Db_Table
{
   public function doQueryWithSql($id)
   {
     $qy = " SELECT * FROM video,category WHERE category.category_id = $id AND video.id = category.video_id ";
     return $this->getAdapter()->fetchAll($qy);
   }

   public function doQueryWithObject($id)
   {
     $select = $this->getAdapter()->select();
     $select->from(array('v'=>'video'))
            ->join(array('c'=>'category'),'v.id = c.video_id')
            ->where("c.category_id = $id");
     return $this->getAdapter()->fetchAll($select);
   }
}

Eğer attılar ne gelen, videolar ve kategoriler için tablolar arasında bir ilişki olduğu görülmektedir: Bir kategori birçok video var ve bir video bir kategoriye ait. Sen this article Zend_Db_Table ilişkileri üzerinde kontrol etmelisiniz.