Я использую в своем Laravel 5.7 приложении схему репликации базы данных master-slave, используя postgresql:
'mydb' => [
'driver' => 'pgsql',
'read' => [
'host' => env('DB_HOST_READ', '192.168.2.3'),
],
'write' => [
'host' => env('DB_HOST_WRITE', '192.168.2.5'),
],
'port' => env('DB_PORT', '5432'),
'database' => env('DB_DATABASE', 'mydb'),
'username' => env('DB_USERNAME', ''),
'password' => env('DB_PASSWORD', ''),
'charset' => 'utf8',
'prefix' => '',
'schema' => 'public',
'sslmode' => 'prefer',
],
И мне были предоставлены некоторые необработанные запросы для выполнения (запрос был предоставлен в моем виде Джира билет). Эти запросы являются отчетными запросами, которые нуждаются в свободных данных sh, поэтому я не хочу много их возиться.
Сам Laravel предоставляет способы сделать это, но либо требует создания модели, например:
MyModel::limit(10)->useWritePdo()->get();
, либо построитель запросов:
DB::connection("mydb")->table('user')->select("*")->limit(10)->useWritePdo()->get();
Но Я хочу сделать следующее:
DB::connection("mydb")->useWritePdo()->select("SELECT * from et_user");
Есть ли способ сделать это?