フィルター 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()]);
問題は、複数の施設がある場合、エリアが表示されないことです。
"->andFilterWhere(['like', 'facility_id', $this->getfacilityID()]); "
太字のコードが問題を引き起こしています。getfacilityId() に複数の配列要素がある場合、領域にデータが表示されません。getFacilityId() に要素が 1 つしかない場合、データは正しく表示されます。これの解決策を得ることができますか??
前もって感謝します..