こんにちは、yii2クエリでnot null条件を使用する方法市と州がnullにならないようにします。
私のクエリは
$query = new Query;
$query->select('ID, City,State,StudentName')
->from('student')
->where(['IsActive' => 1])
->orderBy(['Rand()' => SORT_DESC])
->limit(10);
$dataProvider = new ActiveDataProvider([
'query' => $query,
'pagination' => false,
]);
not
演算子をnullであってはならないフィールドと組み合わせて使用して、IS NOT NULL
SQLステートメントを生成できます。このような:
$query = new Query;
$query->select('ID, City,State,StudentName')
->from('student')
->where(['IsActive' => 1])
->andWhere(['not', ['City' => null]])
->andWhere(['not', ['State' => null]])
->orderBy(['Rand()' => SORT_DESC])
->limit(10);
documentation の例を確認してください。
->where(['IS NOT', 'column', null]);
get
WHERE column IS NOT NULL
オプションの1つは次のとおりです。
$query = new Query;
$query->select('ID, City,State,StudentName')
->from('student')
->where(['IsActive' => 1])
->andWhere(['<>', 'City', null])
->andWhere(['<>', 'State', null])
->orderBy(['Rand()' => SORT_DESC])
->limit(10);
where の公式ドキュメントを確認してください。
$items = BadOffer::find()->where(['OR',
['IS', 'moderator_id', (new Expression('Null'))],
['moderator_id' => $user->id],
]);
MySQLで空でない列を選択する方法は?
[〜#〜] length [〜#〜]を使用します。
SELECT col1
FROM table
WHERE LENGTH(col1) > 0
Yii2:
->andWhere(['>', 'LENGTH(col1)', 0])
->andWhere(['not', ['State' => null]])
または->andWhere(['is not', 'State', null]);
を使用します
使用しないでください:
andFilterWhere
は、null
によりこのフィルターが無視されるため->andWhere(['<>', 'State', null])
クエリを形成するAND State <> null
Yii2では、次のように使用できます
1) ->andWhere(['NOT', ['city' => null]])
2) ->andWhere(['<>', ['city' => null]])
3) ->andWhere('city IS NOT NULL')