1) Pertama, Anda perlu mengubah opsi PDO yang Anda berikan pada opsi di array pgsql dari database.php Anda dengan cara yang benar seperti yang diberikan di bawah ini.
'pgsql' => [
'driver' => 'pgsql',
'host' => env('DB_HOST', '127.0.0.1'),
'port' => env('DB_PORT', '5434'),
'database' => env('DB_DATABASE', 'forge'),
'username' => env('DB_USERNAME', 'forge'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
'options' => [
PDO::ATTR_EMULATE_PREPARES => true
]
]
2) Kedua, dan yang paling penting adalah memastikan bahwa Anda menggunakan set "ATTR_EMULATE_PREPARES" menjadi "true" dengan setiap koneksi database yang Anda coba sambungkan di Database.php Anda berkas.
Misalnya,
'test' => [
'driver' => 'pgsql',
'host' => env('test', '127.0.0.1'),
'port' => env('test', '5434'),
'database' => env('DB_TEST_DATABASE', 'test'),
'username' => env('DB_USERNAME', 'test'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
'options' => [
PDO::ATTR_EMULATE_PREPARES => true
]
],
'test1' => [
'driver' => 'pgsql',
'host' => env('test1', '127.0.0.1'),
'port' => env('test1', '5434'),
'database' => env('DB_TEST1_DATABASE', 'test1'),
'username' => env('DB_USERNAME', 'test'),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
'options' => [
PDO::ATTR_EMULATE_PREPARES => true
]
]
Harap pastikan untuk menggunakan "ATTR_EMULATE_PREPARES" menjadi true untuk setiap koneksi database yang Anda buat di aplikasi Anda, dalam komentar Anda, Anda membuat koneksi hanya dengan "pgsql" yang menekankan untuk koneksi sql postgres saja, dan bukan dengan database yang dikomunikasikan oleh aplikasi Anda. ada di postgres.
Semoga ini membantu Anda menyelesaikan pertanyaan Anda. Selamat menikmati!!!