我目前在一个故事板上工作,我上传了讲故事的图片。
所以问题是我只想限制相关的查询。
故事板具有图像的has_many关系。在故事板出现的列表中,我只想显示第一个图像,当有人单击它时,它将显示所有图像,显示一切都很好,但我可以限制我视图中的相关图像。
我完全被它搞糊涂了,因为我在论坛上读到了很多关于它的信息,尝试了一下可能的变化,这个限制被忽略了,或者我得到了错误。
下面是我的代码
控制器
$stories = Model_Storyboard::find('all', array('related' => array('storyboardimage')));
$this->template->title = "Sotry Board | " . Config::get('site_name');
$this->template->content = View::forge('storyboard/index', array('stories' => $stories));那么,如何限制storyboardimage显示每个故事板的第一个图像呢?
对不起,如果我问得太多,但我真的很高兴,如果有人能给我一个工作的例子,因为我尝试了许多变化,但没有工作…
发布于 2012-11-24 22:58:19
您可以在关系上添加条件,例如where、order_by、limit等。
例如(请注意,这是未经测试的)
$stories = Model_Storyboard::find('all', array(
'related' => array(
'storyboardimage' => array(
'limit' => 1,
'order_by' => array(
'field_indicative_of_first_image' => 'desc'
),
)
)
));在上面的示例中,我添加了field_indicative_of_first_image,这意味着将其替换为可用于获取第一张图像的列。例如,这可以是created_at列或weight或sort_order列。如果不知道您的数据库模式,我无法告诉您需要哪种模式。
https://stackoverflow.com/questions/13541286
复制相似问题