Yii2缩短()和or其中()

问题描述 投票:0回答:2

here的引用中还有另一种方法可以缩短where()和orWhere()吗?

示例代码如:

$HrEmployeeShift_opt = ArrayHelper::map(HrEmployeeShift::find()->where(['Status' => 'Pasif'])>orWhere(['Status' => 'Rolling'])->asArray()->all(), 'Id', 'Shift');
yii2
2个回答
0
投票

由于您正在比较同一列中的两个值。我想IN Condition也会开始。

HrEmployeeShift::find()
    ->where(['Status' => ['Pasif', 'Rolling']])
   ->asArray()
   ->all();

OR

HrEmployeeShift::find()
    ->where(['IN', 'Status', ['Pasif', 'Rolling']])
   ->asArray()
   ->all();

这将导致出现条件Status IN ('Pasif', 'Rolling')


0
投票

从我的手机发布,您希望通过以下方式进行操作

$HrEmployeeShift_opt = ArrayHelper::map(
    HrEmployeeShift::find()->where(
        [
            'OR',
            ['Status' => 'Pasif'],
            ['Status' => 'Rolling'],
        ]
    )->asArray()->all(),
    'Id',
    'Shift'
);
© www.soinside.com 2019 - 2024. All rights reserved.