Используем "каcтомное" подключение к базе данных в Laravel Requests

В общем, возникла необходимость использовать разные подключения в Laravel Requests с правилом exists. Немного погуглив я не нашел нечего дельного и полез в сорсы ларавеля смотреть чо там да как...

Немного поковырявшись в файле vendor/laravel/framework/src/Illuminate/Validation/Validator.php нашел нужный мне метод validateExists в котором меня заинтересовала строка list($connection, $table) = $this->parseTable($parameters[0]); (строка 1101), а именно переменная $connection.

Сразу же стал виден свет в конце тонеля, ведь он как-то разделяет первый параметр на подключение и таблицу. Глянув метод parseTable (строка 1056) стало очевидно, что нужно указать подключение через точку.

Тоесть нужное мне правило должно выглядить так: exists:connection.table,column. При особой нужде даже можно делать так: exists:connection.database.table,column - ларавель не обидится.

В конце у меня возник вопрос: "Почему такая фича не была документированная?". Начал искать и вот тут меня ждал подвох... По умолчанию ларавель имеет два правила для базы: Exists и Unique. В первом нечего не сказанно, а вот во втором всё изложено:

Custom Database Connection

Occasionally, you may need to set a custom connection for database queries made by the Validator. As seen above, setting unique:users as a validation rule will use the default database connection to query the database. To override this, specify the connection followed by the table name using "dot" syntax:

'email' => 'unique:connection.users,email_address'

Fork me on GitHub