如何为 fuelphp ORM 关系设置动态条件

How to set dynamic condition for fuelphp ORM relation

我有一个使用 fuelphp 的 ORM 创建的多对多关系。

关系的伪代码如下所示

class MyModel extends Model
{
protected static $_many_many = [
    'relatedmodel' => [
        'conditions' => [
            'where' => [
                    ['ctime', '>', DB::expr(('now() - interval 1 week'))],
                ],
            ],
        ]
    ];
}

这里的想法是我只希望关系查看上周创建的较新的相关模型。

但是,由于 php 语言限制,这显然行不通 - 不允许将表达式作为字段默认值。

尽管存在该限制,我如何才能在 FuelPHP 中获得所需的行为?

此处针对语言限制的解决方法是使用 Fuel autoloader 的 public static _init() 函数来设置该值。当自动加载器加载 class 时会自动调用它。

http://fuelphp.com/docs/general/classes.html#/init_method