Я не могу получить значение $ list_izin из массива, как я могу получить значение из массива и установить значение для условия предложения where
$ list_izin = ['7', '11', '14', '16', '19', '202', '139', '157'];
$where = array(
'tmuser_userauth.userauth_id' => $userauth_id,
'tmpegawai.bidangid' => $bidangid,
'trperizinan_user.trperizinan_id' => $list_izin
);
}
return $this->db
->select('
tmpegawai.pegawaiid,
tmpegawai.n_pegawai,
tmpegawai.telp,
tmuser.photo,
tmuser.last_login,
trperizinan_user.trperizinan_id
')
->from($this->table)
->join('tmuser', 'tmuser.tmpegawai_id = tmpegawai.pegawaiid')
->join('tmuser_userauth','tmuser_userauth.tmuser_id = tmuser.id')
->join('trperizinan_user','trperizinan_user.user_id = tmuser.id')
->where($where)
->get();
}
Извините, я только что понял, что дубликат применим только частично






Вы видите ошибку «неизвестный столбец« Массив »», потому что массив идентификаторов преобразуется в строку, когда это значение ассоциативного массива обрабатывается where(). («Массив» - это строковое представление любого массива в PHP.)
Чтобы исправить это, сначала удалите последний столбец из массива $where.
$where = array(
'tmuser_userauth.userauth_id' => $userauth_id,
'tmpegawai.bidangid' => $bidangid,
);
Затем в выбранном запросе добавьте список идентификаторов в условии where_in().
return $this->db
->select('
tmpegawai.pegawaiid,
tmpegawai.n_pegawai,
tmpegawai.telp,
tmuser.photo,
tmuser.last_login,
trperizinan_user.trperizinan_id
')
->from($this->table)
->join('tmuser', 'tmuser.tmpegawai_id = tmpegawai.pegawaiid')
->join('tmuser_userauth','tmuser_userauth.tmuser_id = tmuser.id')
->join('trperizinan_user','trperizinan_user.user_id = tmuser.id')
->where($where)
->where_in('trperizinan_user.trperizinan_id', $list_izin)
->get();
where_in() будет добавлен к существующим критериям, определенным в where(), он не заменит его.
Используйте
where_in()илиor_where_in().