Hallo, ich möchte nicht Null-Bedingung in meiner Abfrage yii2 verwenden, wie sollte ich das verwenden ... Ich möchte keine Stadt und Zustand Null.
Meine Frage ist
$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,
]);
Sie können den Operator not
zusammen mit den Feldern verwenden, die nicht null sein dürfen, um eine IS NOT NULL
-SQL-Anweisung zu generieren. So was:
$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);
Überprüfen Sie auch die Beispiele in der Dokumentation .
Eine der Optionen wird sein:
$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);
Überprüfen Sie die offiziellen Dokumente auf wo .
->where(['IS NOT', 'column', null]);
erhalten
WHERE column IS NOT NULL
$items = BadOffer::find()->where(['OR',
['IS', 'moderator_id', (new Expression('Null'))],
['moderator_id' => $user->id],
]);
Wie wählt man nicht leere Spalten in MySQL aus?
benutzeL&AUML;NGE:
SELECT col1
FROM table
WHERE LENGTH(col1) > 0
Yii2:
->andWhere(['>', 'LENGTH(col1)', 0])
In Yii2 können Sie wie folgt verwenden
1) ->andWhere(['NOT', ['city' => null]])
2) ->andWhere(['<>', ['city' => null]])
3) ->andWhere('city IS NOT NULL')
benutze ->andWhere(['not', ['State' => null]])
oder ->andWhere(['is not', 'State', null]);
Nicht verwenden:
andFilterWhere
, da die null
diesen Filter ignoriert->andWhere(['<>', 'State', null])
wie es die Abfrage bildet AND State <> null