2015-10-07 5 views
0

Поэтому, когда мне нужно принести информацию арендатора для главного SuperAdmin, я установил значение базы данных арендаторов к той, которая должна быть запрошена как так:Как получить записи ресурсов динамически меняющимися БД в Laravel 5?

\Config::set('database.connections.tenants.database', $tenant->username); 

я в состоянии сделать это:

$users = User::on('tenant')->find(1); 

Но это ...

$users = User::on('tenant')->all(); 

... дает мне ошибку

Призыв к неопределенным метод Осветите \ Database \ Query \ Builder :: все()

Как я вернусь всех пользователей из базы данных арендатора?

EDIT

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); 
} 

ответ

2

При использовании on, вы должны использовать get вместо all:

$users = User::on('tenant')->get() 

В самом деле, метод all называет get внутренне.

+0

Хотя у меня все еще есть одна проблема. Это не приводит к записи из пользовательской таблицы подключения арендатора. Он просто возвращает мне записи из основного соединения с БД, которое уже подключено. Есть идеи об этом? – Rohan

+0

Вы можете использовать тот же подход в другом вопросе: http://stackoverflow.com/q/32989103/1399505 –

+0

Я отредактировал свой вопрос, чтобы показать вам сам метод, но он все еще не работает. Где, по-вашему, я ошибаюсь? – Rohan

Смежные вопросы