php - Fuelphp相关限制

标签 php mysql limit fuelphp

我目前正在制作 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的第一张图片?

抱歉,如果我问的太多了,但如果有人能给我一个可行的例子,我会非常高兴,因为我尝试了很多变体,但没有任何效果......

最佳答案

您可以在关系上添加条件,即 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 列。在不知道您的数据库架构的情况下,我无法告诉您您需要哪个。

关于php - Fuelphp相关限制,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13541286/

相关文章:

php - Jquery $.post 返回错误的数据

php - PHP 类的实例将持续多长时间?

PHP - 地址后的问号如何工作?

MySQL 查询 - 使用 ORDER BY rand( ) 强制区分大小写

python - Pygame- 创建更多 USEREVENT 类型事件的方法?

php - 限制两列之和的结果

php - 将纪元时间转换为 H :mm timestamp in PHP

mysql - 带有空字段 (null) 且没有结果的 SQL OUTER JOIN

sql-server - 临时表 - 允许的最大行值数为 1000

c - `sysconf()` 和 `getrlimit()` 有什么关系和区别?