我是Zend Framework的新手(我也是这个论坛的新成员:D),我发现这个棘手的问题是关于如果你想从3个相关的表中获取。比方说,如果我有这些SQL查询:从Zend Framework中获取2个或更多相关表格的值
SELECT p.painting_id,p.painting_title ,p.painting_filename,a.artist_name,c.pc_name从绘画P,艺术家 一个,painting_category c其中一个。 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,艺术家 一个,painting_category c WHERE a.artist_id = p.artist_id AND c.pc_id = p.pc_id AND p.painting_id = $ p_id;
的情况下,首先,我要显示所有画作(与艺术家名称和类别),然后,当用户点击画,它会去到另一个网页,只显示绘画(与艺术家名称和类别)。
我已经在模型取得这一进展:
类Application_Model_DbTable_Painting扩展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扩展Zend_Db_Table_Abstract {
protected $_name = 'artist';
protected $_dependentTables = 'Model_DbTable_Painting';
} 小号
类Application_Model_DbTable_PaintingCategory扩展Zend_Db_Table_Abstract {
protected $_name = 'painting_category';
protected $_dependentTables = 'Model_DbTable_Painting';
}
我应该添加在模型中什么样的功能,我应该怎么写在控制器和视图脚本得到结果,如SQL查询我上面写过?告诉我,如果我犯了错误。
我真的很感激,如果你会给我一些与我的问题有关的例子。感谢
嗨,谢谢!我设法在Zend Framework中直接编写和执行SQL语句。我最大的错误是我忘了将$ this-> escape放到显示当前绘画的链接上(这导致参数传递失败):))。 – psaka