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

如何设置fuelphp ORM关系的动态条件,php,orm,fuelphp,fuelphp-orm,Php,Orm,Fuelphp,Fuelphp Orm,我使用fuelphp的ORM创建了多对多关系 关系的伪代码如下所示 class MyModel extends Model { protected static $_many_many = [ 'relatedmodel' => [ 'conditions' => [ 'where' => [ ['ctime', '>', DB::expr(('now() - interval 1 w

我使用fuelphp的ORM创建了多对多关系

关系的伪代码如下所示

class MyModel extends Model
{
protected static $_many_many = [
    'relatedmodel' => [
        'conditions' => [
            'where' => [
                    ['ctime', '>', DB::expr(('now() - interval 1 week'))],
                ],
            ],
        ]
    ];
}
这里的想法是,我只想让这段关系看看上周创建的较新的RelatedModel

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


尽管存在该约束,我如何在FuelPHP中获得所需的行为?

这里语言约束的解决方法是使用Fuel autoloader的
public static _init()
函数来设置值。当自动加载程序加载类时,会自动调用该函数


AFAIK,其中关系中的条件实际上在联接中用作ON条件。您是否尝试将其放入查询中的“real”where条件中?即使您希望将其作为所有情况的永久条件:您也可以覆盖模型中的
query
方法,以便每个查询都使用该条件执行。