1

以下に示すように、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 オブジェクトのみが返されます。私はこれがそれを少し押し進めていることを知っていますが、Fuelは他の多くのもので素晴らしいので、これを行う方法があるかもしれません.

明らかにクエリでこれを行うことができますが、 $_many_many を使用してそれを行う方法があるかどうか知りたいと思いました

4

2 に答える 2

1
public function action_your_function_where_you_call_the_user_model()
{

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

}
于 2012-11-10T11:55:42.703 に答える
0

パーティーに少し遅れましたが、検索でこれにヒットした人のために:

関係定義で条件を定義できます。現時点では、「where」句と「order_by」句がサポートされています。

この条件は永続的であり、オンまたはオフに切り替えることはできません。したがって、関連モデルへのフル アクセスとフィルター アクセスの両方が必要な場合は、2 つのリレーションを定義する必要があります。

詳細については、 http://fuelphp.com/docs/packages/orm/relations/intro.html#usage_rel_conditionsを参照してください。

于 2013-01-27T00:57:26.413 に答える