Impossible to generate condition with empty list of values for field (モデル名.カラム名)
こんなエラーが発生しましたが、コードの位置と発生した場所が違うのでいまいちわかりにくい。
日本語で解説した資料がなかったのでメモとして残しておきます。
このエラーの原因は、クエリビルダでIN句に空の配列を渡したことが原因です。
こんな感じ
$user_list=[]; $query->where(['Users.id'=>$user_list])
サブクエリであれば結果が空でも大丈夫なんですが、配列の場合はダメなんですよね。
回避策としては
サブクエリにする
リストが空の場合は実行しないようにする
初期値で$user_list=[0] みたいな感じで、あり得ない値をとりあえず入れておく
という方法が考えられます。