Zend Framework: Как написать правильную модель, использующую другую таблицу? - PullRequest
1 голос
/ 22 апреля 2011

У меня есть модели в проекте, которые используют более одной таблицы для выбора.

Как мне написать более корректный код?

публичная функция __construct () {

   $this->_name = DB_PREFIX . 'teachers';
   parent::__construct();

}

публичная функция init () {

  $this->db = Zend_Db_Table::getDefaultAdapter();

}

публичная функция getTeachers ($ course_id) {

  $students_query = $this ->db->select()
                          ->from($this->_name, '')
                          ->from(<ANOTHER_TABLE_NAME>, array('uid', 'ulogin'))
                          ->where("<ANOTHER_TABLE_NAME>.uid = {$this->_name}.teacher_id")
                          ->where("{$this->_name}.course_id = ?", $course_id)
                           ->order("<ANOTHER_TABLE_NAME>.ulogin");

  $result = $this->db->fetchAll($students_query) ? $this->db->fetchAll($students_query) : NULL;

  return $result;

}

1 Ответ

0 голосов
/ 22 апреля 2011
$students_query =  $this->db->select()
                          ->from($this->_name, '')
                          ->setIntegrityCheck(false)
                          ->join('<ANOTHER_TABLE_NAME>', "<ANOTHER_TABLE_NAME>.uid = {$this->_name}.teacher_id", array('uid', 'ulogin'))
                          ->where("{$this->_name}.course_id = ?", $course_id)
                          ->order("<ANOTHER_TABLE_NAME>.ulogin");
...