我目前正在制作 Storyboard,我会在其中上传讲述故事的图片。
所以问题是我只想限制相关查询。
Storyboard对图像有一个has_many
关系。在出现 Storyboard的列表中,我只想显示第一张图片,当有人点击它时,它会显示所有内容,显示所有内容都很好,但我可以限制我 View 中的相关图像。
我对它完全感到困惑,因为我在论坛上阅读了很多关于它的信息,尝试了多种变体,限制被忽略,或者我得到错误
这是我的代码
Controller
$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
显示每个 Storyboard的第一张图片?
抱歉,如果我问的太多了,但如果有人能给我一个可行的例子,我会非常高兴,因为我尝试了很多变体,但没有任何效果......
最佳答案
您可以在关系上添加条件,即 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
列。在不知道您的数据库架构的情况下,我无法告诉您您需要哪个。
关于php - Fuelphp相关限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541286/