環境は
OS : Amazon Linux 2
DB : PostgreSQL 10
PHP : 7.2
Laravel : 5.5
です。
ビルトインのLaravel authを利用してログインしたところ、下記のエラーが出ました。
(初期状態では email
がIDになっていますが、 login_id
に変更しています。
login_id
のデータベース上の設定は文字列型です。)
could not find driver (SQL: select * from "users" where "login_id" = 1111111 limit 1)
「could not find driver」と出ますが、PDOにpgsqlはあります。
SQL文の方を、A5M2で実行すると、
SQL : operator does not exist: character varying = integer
となります。login_idを文字列型に修正して、
select * from "users" where "login_id" = '1111111' limit 1
で実行すれば、エラーは出ません。
入力フォームから渡ってくるとPOSTデータは文字列型であり、どこで整数として認識されてエラーになるのかが分かりません。
ちなみに、ローカル環境(docker、debian)ではエラーは起こりません。
色々調べてみましたが、分からなかったので、よろしくお願いいたします。
調べたこと
- 上記 could not find driverについて
- strictモードのようなものがあるかについて
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。