Это аналогичная ситуация:Laravel изменить красноречив, чтобы иметь переменное подключение к базе данных арендатора
Multi tenancy in Laravel Eloquent ORM
Я хотел бы изменить красноречивую модель, чтобы иметь имя переменного подключения к базе данных. У меня есть имя в виде строки. У меня будет сотни моделей, подключающихся к базе данных арендаторов, поэтому я хочу однострочный ...
Я пробовал несколько подходов. Тот, который работает следующим образом:
$posUser = new posUser();
$posUser->setConnection($this->system->getDBC());
$posUser->create($posUserData);
с классами созданы так:
class posUser extends myModel
{
}
class myModel extends Model
{
public function setConnection($dbc)
{
$this->connection = $dbc;
}
}
Однако это немного многословным. То, что я хочу, это один лайнер:
posUser::create($posUserData);
Что, у меня есть это на гильзе рабочего путем создания нового соединения с базой данных и установив, что соединение по умолчанию, которое происходит, когда зарегистрированный пользователь посещает сайт. Я чувствовал бы себя более комфортно с помощью следующей команды (какие ошибки ...)
posUser::On($connection_name)->create($posUserData);
И требуют, чтобы все модели с использованием баз данных арендатора, чтобы указать соединение. Я просто напуган, что один арендатор каким-то образом напишет в другую базу данных арендатора. Есть идеи?
https://lukevers.com/2015/03/25/on-the-fly-database-connections-with-laravel-5 – sumit