here的引用中还有另一种方法可以缩短where()和orWhere()吗?
示例代码如:
$HrEmployeeShift_opt = ArrayHelper::map(HrEmployeeShift::find()->where(['Status' => 'Pasif'])>orWhere(['Status' => 'Rolling'])->asArray()->all(), 'Id', 'Shift');
由于您正在比较同一列中的两个值。我想IN Condition
也会开始。
HrEmployeeShift::find()
->where(['Status' => ['Pasif', 'Rolling']])
->asArray()
->all();
OR
HrEmployeeShift::find()
->where(['IN', 'Status', ['Pasif', 'Rolling']])
->asArray()
->all();
这将导致出现条件Status IN ('Pasif', 'Rolling')
。
从我的手机发布,您希望通过以下方式进行操作
$HrEmployeeShift_opt = ArrayHelper::map(
HrEmployeeShift::find()->where(
[
'OR',
['Status' => 'Pasif'],
['Status' => 'Rolling'],
]
)->asArray()->all(),
'Id',
'Shift'
);