Вручную определить соединение с БД в laravelPhp

Кемеровские программисты php общаются здесь
Ответить
Anonymous
 Вручную определить соединение с БД в laravel

Сообщение Anonymous »

Я следовал этому руководству и все настроил. В руководстве объясняется, как получить субдомен и использовать его для подключения к нужной базе данных. У каждого арендатора будет своя собственная база данных, а также будет главная база данных _admin. Эта база данных _admin будет иметь таблицу арендаторов со столбцом субдомена.
Существует фильтр, который запускается каждый раз и проверяет субдомен по таблице арендаторов. Проблема возникает из-за того, что файл конфигурации базы данных настроен не на главную базу данных _admin, которая включает в себя таблицу арендаторов, а на mysql_tenant, где арендатор устанавливается на лету.

Я думаю, что могу обойти это, вручную указав базу данных для подключения фильтра, вот код, который у меня есть для фильтра.

Route::filter('verifyTenant', function($route, $request)
{
$host = $request->getHost();
$parts = explode('.', $host);
$subdomain = $parts[0];

# Ping DB for tenant match. Note that my Tenant model directs laravel to ping the tenant table in the master db to verify tenant
$tenant = Tenant::where('subdomain', '=', $subdomain)->first();

# If tenant database exists but tenant not in master db, redirect to homepage
if ($tenant == null) return Redirect::to('http://www.'.Config::get('app.domain'));
});


Мне нужно изменить строку:

$tenant = Tenant::where('subdomain', '=', $subdomain)->first();


Я пытался сделать следующее, но получил ошибку:

$tenant = DB::connection('mysql')->Tenant::where('subdomain', '=', $subdomain)->first();


Я получаю следующую ошибку:

Symfony \ Component \ Debug \ Exception \ FatalErrorException
syntax error, unexpected '::' (T_PAAMAYIM_NEKUDOTAYIM)


Подробнее здесь: https://stackoverflow.com/questions/231 ... in-laravel
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Php»