5

これは私の実際のクエリです -

$dataProvider = new ActiveDataProvider([
            'query' => UserProfile::find()->with(['user'])
        ]);

' status ' フィールドがユーザー テーブルに存在します。そのため、ステータス != 0でデータをフィルター処理したいのですが、失敗します。

私はこれを試しました -

1

$dataProvider = new ActiveDataProvider([
            'query' => UserProfile::find()->with(['user'])->where('user.status !=',0)
        ]);

2

$dataProvider = new ActiveDataProvider([
            'query' => UserProfile::find()->with(['user'])->where('<>','user.status',0)
        ]);

どれも機能しません。可能性を教えてください。

4

1 に答える 1

3

$dataProviderこのコードでコードを変更する必要があります。

$dataProvider = new ActiveDataProvider([
            'query' => UserProfile::find()->joinWith(['user(relation_name)'])->where(['<>','user.status',0])
        ]);
于 2015-09-14T10:40:41.823 に答える