如何在Laravel 5中通过动态更改数据库来获取资源记录?
How to fetch resource records by dynamically changing DBs in Laravel 5?
所以每当我需要为主要超级管理员获取租户信息时,我将租户数据库值设置为要查询的值,如下所示:
\Config::set('database.connections.tenants.database', $tenant->username);
我能做到:
$users = User::on('tenant')->find(1);
但是这...
$users = User::on('tenant')->all();
...给我一个错误
Call to undefined method 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
。
所以每当我需要为主要超级管理员获取租户信息时,我将租户数据库值设置为要查询的值,如下所示:
\Config::set('database.connections.tenants.database', $tenant->username);
我能做到:
$users = User::on('tenant')->find(1);
但是这...
$users = User::on('tenant')->all();
...给我一个错误
Call to undefined method 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
。