使用where子句的FuelPHP $ _many_many

时间:2012-06-13 03:02:22

标签: fuelphp

我在FuelPHP中有很多关系,如下所示:

    protected static $_many_many = array(
    'members' => array(
        'key_from' => 'team_id',
        'key_through_from' => 'team_id', 
        'table_through' => 'user_has_team', 
        'key_through_to' => 'user_id',
        'model_to' => 'Model_User',
        'key_to' => 'id',
    )
);

但我想知道你是否可以在关系中有一个where子句。例如:

    protected static $_many_many = array(
    'members' => array(
        'key_from' => 'team_id',
        'key_through_from' => 'team_id', 
        'table_through' => 'user_has_team', 
        'key_through_to' => 'user_id',
        'model_to' => 'Model_User',
        'key_to' => 'id',
        'where' => array('account_status' => 'active')
    )
);

因此它只返回其account_status设置为“active”的Model_User对象。我知道这有点推动它但是很多其他的燃料很棒,所以我可能有办法做到这一点。

显然你可以通过查询来做到这一点,但我想知道是否有办法使用$ _many_many

2 个答案:

答案 0 :(得分:1)

public function action_your_function_where_you_call_the_user_model()
{

    $user = Model_User::find()->where('account_status', 'active')->get();   

}

答案 1 :(得分:0)

派对迟到了,但是对于那些在搜索中点击这个的人:

您可以在关系定义上定义条件。目前'where'和'order_by'条款得到支持。

此条件是永久性的,您无法打开或关闭它们。因此,如果您需要对相关模型进行完全访问和过滤访问,则必须定义两个关系。

有关详细信息,请参阅http://fuelphp.com/docs/packages/orm/relations/intro.html#usage_rel_conditions