从连接查询生成的项目的功能应该在哪里?

时间:2012-10-19 06:39:04

标签: magento

我用函数getRooms()创建了块。此函数使joinLeft查询两个表并返回项集合。 实际上这不是初始房间收藏,因为它有小组,总和和其他可数字段。

在phtml模板中,我渲染这些集合,并应检查每个项目,调用函数。

例如:

<?php $rooms = $this->getRooms();
foreach ($rooms as $room) : ?>
<?php if ( $this->isAvailable($room) ) : ?>
<!-- some html here -->

isAvailable函数使用$ room值,我觉得它应该像

一样调用
$room->isAvailable();

而不是

$this->isAvailable($room) 

在这种情况下,isAvailable()应该在Model中。但是什么型号?正如我上面提到的,我的查询是连接两个表。那么应该使用什么样的模型?也许Magento有可能根据连接表(而不是一个表)创建模型?

1 个答案:

答案 0 :(得分:1)

Collection对象包含您正在使用的模型。所有joining工作都只是为了向模型中添加更多数据(逻辑所需的数据)。要获取Model类,只需使用

echo get_class($room);