Поэтому, когда мне нужно получить информацию об арендаторе для основного суперадмина, я устанавливаю значение базы данных арендаторов равным таковому:
\Config::set('database.connections.tenants.database', $tenant->username);
Я могу сделать это:
$users = User::on('tenant')->find(1);
Но это…
$users = User::on('tenant')->all();
…дает мне ошибку
Вызов неопределенного метода Illuminate \ Database \ Query \ Builder :: all ()
Как я верну всех пользователей из базы данных арендатора?
РЕДАКТИРОВАТЬ
public function showUsersForTenant($id)
{
$tenant = Tenant::findOrFail($id);
\Config::set('database.connections.tenants.database', $tenant->username);
\DB::reconnect();
\DB::setDatabaseName($tenant->username);
$users = User::on('tenant')->get();
return response()->json($users, 200);
}
Когда используешь on
, вы должны использовать get
вместо all
:
$users = User::on('tenant')->get()
На самом деле, all
метод вызывает get
внутренне.
Других решений пока нет …