Laravel: Как использовать красноречивый ORM для поиска информации НЕ аутентифицированного пользователя?

Итак, у меня есть эта функция, чтобы получить информацию о пользователе, который в данный момент вошел в систему.

$users = User::get();
$loginuser = $users->find(Auth::user()->id);

Как мне использовать красноречивую ORM Laravel, чтобы привлечь других пользователей и поместить их в переменную массива? Может что-то вроде

$otherusers = $users->find(not(Auth::user()->id));

Конечно, это не сработает, но вы понимаете, о чем я. Бонусные баллы за улучшение первых 2 строк выше ~! Спасибо!


person Ricardo    schedule 13.06.2014    source источник


Ответы (1)


Вы можете попробовать это, чтобы получить всех пользователей, кроме вошедшего в систему:

$otherusers = User::where('id', '!=', Auth::user()->id)->get();

Если вы используете Auth::user(), вы получите только текущего пользователя, вошедшего в систему. Так например:

// Logged In user, You can directly use
// Auth::user()->id or any property, no
// need keep it in a variable for that
$loggedInUser = Auth::user(); // Returns a single Model

// Other users (Returns a collection of user models)
// Check if a user is logged in before you use Auth::user()->id
$otherusers = User::where('id', '!=', Auth::user()->id)->get();
person The Alpha    schedule 13.06.2014
comment
Спасибо! Ценить это :) - person Ricardo; 13.06.2014
comment
+1 Просто убедитесь, что пользователь действительно вошел в систему. В противном случае вы получите ошибку с этим кодом. - person Joseph Silber; 13.06.2014