1) Първо, трябва да промените опцията за PDO, която давате в опциите в pgsql масива на вашата база данни.php, правилният начин е както е дадено по-долу.
'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) Второ, и най-важното нещо е да се уверите, че използвате задаване на „ATTR_EMULATE_PREPARES“ на „true“ с всяка връзка с база данни, която се опитвате да свържете във вашата Database.php файл.
Например,
'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
]
]
Моля, уверете се, че използвате „ATTR_EMULATE_PREPARES“ на true за всяка връзка с база данни, която правите във вашето приложение, във вашите коментари правите връзка само с „pgsql“, което е акцент само за postgres sql връзка, а не с базата данни, която вашето приложение комуникира, която е в postgres.
Надявам се това да ви помогне да разрешите запитването си. Насладете се!!!