Closed hyquoccuong closed 5 years ago
You are using wrong syntax, try this:
$condition = ['is_active' => FConstant::STATE_ACTIVE];
$android_condition = ['AND', $condition, ['OR', ['type' => 1], ['type' => 'android']];
$all_android_devices = AppDeviceAPI::find()->select('token')->where($android_condition)->all();
Yeah your syntax is full version query but yii also known the array of child condition is a big AND condition and I think many people use my syntax so the this change maybe affect to curent working code.
@hyquoccuong result of your array_merge would be:
[
'is_active' => FConstant::STATE_ACTIVE,
['OR', ['type' => 1], ['type' => 'android']]
];
It is a mix of hash condition and operator condition. Such format was never officially documented or supported. See https://www.yiiframework.com/doc/api/2.0/yii-db-queryinterface#where()-detail
What steps will reproduce the problem?
New class in version 2.0.14 cause error on old working query https://www.yiiframework.com/doc/api/2.0/yii-db-conditions-simplecondition
This is my code snippet:
What is the expected result?
Hope this will be fixed on following versions after I update my Yii
What do you get instead?
Additional info