我正在尝试在过滤器 where 条件中传递数组元素。
getFacilityID() 函数
public function getFacilityID()
{
$facArray= array();
$facilityName = Facility::find()->where(['company_id' => \Yii::$app->user->identity->company_id])->all();
foreach ($facilityName as $facName){
$facArray[] = $facName->facility_id;
}
// var_dump($facArray); exit();
return $facArray;
}
在这里,我使用getFacilityID()函数进行过滤
$query->orFilterWhere(['like', 'area_name', $this->area_name])
->andFilterWhere(['like', 'facility_id', $this->getfacilityID()]);
问题是如果我有超过 1 个设施,它不会显示任何区域。
"->andFilterWhere(['like', 'facility_id', $this->getfacilityID()]); "
粗体代码导致问题,如果 getfacilityId() 有超过 1 个数组元素,它不会在区域中显示数据。如果 getFacilityId() 中只有一个元素,它会正确显示数据。我可以得到这个解决方案吗?
提前致谢..