Я следовал этому руководству и все настроил. В руководстве объясняется, как получить субдомен и использовать его для подключения к нужной базе данных. У каждого арендатора будет своя собственная база данных, а также будет главная база данных _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
Вручную определить соединение с БД в laravel ⇐ Php
Кемеровские программисты php общаются здесь
-
Anonymous
1772416754
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)
Подробнее здесь: [url]https://stackoverflow.com/questions/23199231/manually-define-db-connection-in-laravel[/url]
Ответить
1 сообщение
• Страница 1 из 1
Перейти
- Кемерово-IT
- ↳ Javascript
- ↳ C#
- ↳ JAVA
- ↳ Elasticsearch aggregation
- ↳ Python
- ↳ Php
- ↳ Android
- ↳ Html
- ↳ Jquery
- ↳ C++
- ↳ IOS
- ↳ CSS
- ↳ Excel
- ↳ Linux
- ↳ Apache
- ↳ MySql
- Детский мир
- Для души
- ↳ Музыкальные инструменты даром
- ↳ Печатная продукция даром
- Внешняя красота и здоровье
- ↳ Одежда и обувь для взрослых даром
- ↳ Товары для здоровья
- ↳ Физкультура и спорт
- Техника - даром!
- ↳ Автомобилистам
- ↳ Компьютерная техника
- ↳ Плиты: газовые и электрические
- ↳ Холодильники
- ↳ Стиральные машины
- ↳ Телевизоры
- ↳ Телефоны, смартфоны, плашеты
- ↳ Швейные машинки
- ↳ Прочая электроника и техника
- ↳ Фототехника
- Ремонт и интерьер
- ↳ Стройматериалы, инструмент
- ↳ Мебель и предметы интерьера даром
- ↳ Cантехника
- Другие темы
- ↳ Разное даром
- ↳ Давай меняться!
- ↳ Отдам\возьму за копеечку
- ↳ Работа и подработка в Кемерове
- ↳ Давай с тобой поговорим...
Мобильная версия