2011-04-24 36 views
2

我曾经发布过这个问题,但根本没有答案,这一次,问题最好是格式化的,所以它会更容易理解我需要的东西。Zend Db Table摘要在行中添加新字段

我创建了一个模型Zend_Db_Table_Abstract

添加的PrimaryKey和表名,一切ok。

然后,我执行代码来检索字体。

$db = new App_Model_News(); 

$news = $db->fetchAll("visible = 1", "published_on DESC"); 

foreach ($news as $i => $new) { 

    $images = $this->_helper->News->first_image($new); 

} 

这种方法的工作原理,但我需要检索两种查看报表:

$this->view->news = $news; 
$this->view->images = $images; 

我需要的是合并这两个结果,做这样的事情。

$db = new App_Model_News(); 

$news = $db->fetchAll("visible = 1", "published_on DESC"); 

foreach ($news as $i => $new) { 

    $news[$i]->images = $this->_helper->News->first_image($new); 

} 
$this->view->news = $news; 

我不能这样做,因为抽象的阵列关联,我的模型是这样的:

class App_Model_News extends Zend_Db_Table_Abstract{ 

    protected $_name = 'news'; 
    protected $_primary = 'id'; 

    protected $_dependentTables = array('ImagesNews'); 

} 

class ImagesNews extends Zend_Db_Table_Abstract{ 

    protected $_name = 'news_imagens'; 
    protected $_primary = 'id_new'; 

    protected $_referenceMap = array(
     'Arquivos' => array(
      'columns'   => 'id_new', 
      'refTableClass'  => 'App_Model_News', 
      'refColumns'  => 'id' 
     ));  
} 

有什么办法来添加新闻行里面的图片?然后在视图中我可以循环和打印图像。

感谢和最好的关注。 对不起,我的英语不好。

回答

3

我认为你可以做的就是创建自己的自定义新闻排类:

class App_Model_Row_News extends Zend_Db_Table_Row_Abstract { 
    public $images; 
} 

然后你会告诉App_Model_News使用自定义行类:

class App_Model_News extends Zend_Db_Table_Abstract{ 

    protected $_name = 'news'; 
    protected $_primary = 'id'; 
    protected $_rowClass = 'App_Model_Row_News'; 

    protected $_dependentTables = array('ImagesNews'); 

} 

希望这有助于。

+0

非常感谢Marcin!帮了很多。 – 2011-04-25 02:42:29

+0

换句话说,使用Doctrine:D – 2012-10-03 13:40:20