Fuelphp相关限制

时间:2012-11-24 12:39:50

标签: php mysql limit fuelphp

我目前正在制作一个故事板,我在那里上传图片讲故事。

所以问题是我只想限制相关的查询。

故事板与图像有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显示每个故事板的第一张图像?

很抱歉,如果我要求很多,但如果有人可以给我一个有效的例子,我会很高兴因为我尝试了很多变化而没有任何作用......

1 个答案:

答案 0 :(得分:0)

您可以在关系中添加条件,即whereorder_bylimit等。

例如(注意这是未经测试的)

$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列或weightsort_order列。在不知道您的数据库架构的情况下,我无法告诉您哪些需要。