Zend Framework Çoklu Masa Sorgulama

1 Cevap php

Ben Zend Framework ile bu deyimini yürütmek için arıyorum. Anladığım kadarıyla, ben Zend_Db_Select kullanabilirsiniz. Bu Zend_Db_Table kullanmak mümkün mü?

Üç tablo: sınıflar, öğrenciler ve class_students

, classes.name, students.student_id, students.fname, class_students.student_id = students.student_id VE class_students.class_id = classes.class_id öğrenciler, sınıfları, class_students dan students.lname seçin

1 Cevap

evet, mümkün - Zend_Db_Table bir masanın üzerinde operasyonların çeşitli yürütmek için bir arayüz sağlar. Örneğin, gerçekleştirmek istediğiniz birden fazla tablo seçimi düşünüyor ve sizin db adaptörü düzgün yapılandırılmış olduğunu varsayarak, aşağıdaki gibi bir şey ile sona erebilir:

$table = new Model_DbTable_Classes(); // which extends Zend_Db_Table_Abstract
$select = $table->select()->setIntegrityCheck(false);
$select->join('class_students', 'class_students.class_id = classes.class_id')
       ->join('students', 'student.student_id = class_students.student_id')
       ->where('classes.class_id = ?', 1)
       ->where('student.student_id = ?', 10);

$result = $table->fetchAll($select);

print_r($result->toArray());

Ama Zend_Db_Table kullanmak olmaz bu özel durumda, ben sadece tek bir masanın üzerine önlemleri alması gerektiğinde Zend_Db_Table kullanma eğiliminde. Birden fazla tablo seçimler gelince ben oldukça db seçin, ya da benim sorguyu eski okul moda (SQL dizesi) yapılanma ile gitmek ve benim db nesnesini kullanarak getir ediyorum.

Umarım yardımcı olur :)

M.