Извлечение значения из 2 или более связанных таблиц в Zend Framework - PullRequest
0 голосов
/ 27 августа 2011

Я новичок в Zend Framework (и новичок в этом форуме тоже: D), и я нахожу эту сложную проблему, если вы хотите получить из 3 связанных таблиц.скажем, если у меня есть эти sql-запрос:

SELECT p.painting_id, p.painting_title, p.painting_filename, a.artist_name, c.pc_name FROM painting p, artist a, painting_category c WHERE a.artist_id = p.artist_id AND c.pc_id = p.pc_id;

и я тоже хочу это сделать:

SELECT p.painting_id, p.painting_title,p.painting_filename, a.artist_name, c.pc_name ИЗ рисунка p, художник a, painting_category c ГДЕ a.artist_id = p.artist_id AND c.pc_id = p.pc_id AND p.painting_id = $ p_id;

Дело в том, что сначала я хочу отобразить все картины (с именем и категорией художника), затем, когда пользователь щелкнет по картине, он перейдет на другую страницу и отобразит только эту картину (с именем художника).и категория также).

я достиг этого прогресса в моделях:

class Application_Model_DbTable_Painting extends Zend_Db_Table_Abstract {

protected $_name = 'painting';
protected $_referenceMap    = array(
    'Artist' => array(
        'columns'           => array('artist_id'),
        'refTableClass'     => 'Artist',
        'refColumns'        => 'artist_id'
    ),
    'PaintingCategory' =>array(
        'columns'           => array('pc_id'),
        'refTableClass'     => 'PaintingCategory',
        'refColumns'        => 'pc_id'
    )
    );

класс Application_Model_DbTable_Artist extends Zend_b

protected $_name = 'artist';

protected $_dependentTables = 'Model_DbTable_Painting';

} s

class Application_Model_DbTable_PaintingCategory extends Zend_Db_Table_Abstract {

protected $_name = 'painting_category';

protected $_dependentTables = 'Model_DbTable_Painting';

}

Какую функцию я должен добавить в модель и что я должен написать вконтроллер и скрипт просмотра, чтобы получить результат как SQL-запрос, который я написал выше?скажите мне, если я сделал ошибку.

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

1 Ответ

2 голосов
/ 27 августа 2011

Это похожий вопрос, и он может вам помочь:

Zend Framework присоединиться

Помимо этого, вы также можете писать и выполнять операторы SQL непосредственно в Zend Framework.

...