Как «установить SQL_BIG_SELECTS = 1» в Laravel Join statement

когда я пытаюсь выполнить запрос БД с 6 Соединениями, я получаю следующее сообщение об ошибке:

SQLSTATE[42000]: Syntax error or access violation: 1104 The SELECT would examine more than MAX_JOIN_SIZE rows; check your WHERE and use SET SQL_BIG_SELECTS=1 or SET MAX_JOIN_SIZE=# if the SELECT is okay

  $results = DB::table('table_1') ->join('table_2', 'table_1.id', '=', 'table_2.id') 

Мой вопрос: как я могу установить «SET SQL_BIG_SELECTS = 1» в запросе laravel?

Related of "Как «установить SQL_BIG_SELECTS = 1» в Laravel Join statement"

я нашел решение 🙂

в app / config / database.php

изменить следующее:

 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'strict' => false, ], 

Для того, чтобы:

 'mysql' => [ 'driver' => 'mysql', 'host' => env('DB_HOST', 'localhost'), 'database' => env('DB_DATABASE', 'forge'), 'username' => env('DB_USERNAME', 'forge'), 'password' => env('DB_PASSWORD', ''), 'charset' => 'utf8', 'collation' => 'utf8_unicode_ci', 'prefix' => '', 'options' => array( PDO::MYSQL_ATTR_INIT_COMMAND => 'SET SESSION SQL_BIG_SELECTS=1', ), 'strict' => false, ], 

Я добавил массив «options» и определил SQL_BIG_SELECTS

То есть, мы можем настроить PDO любым способом, который нам нужен!

Надеюсь, это полезно для других;)