반응형
현재 로그인한 사용자를 제외한 모든 사용자를 수준 높은 웅변으로 가져옵니다.
하고 있습니다.
User::all();
사용자 테이블에서 모든 사용자를 가져옵니다.현재 로그인한 사용자를 제외한 모든 사용자를 선택하고 싶습니다.어떻게 해야 할까요? 이런 거.
User::where('id','!=',$currentUser->id)->get();
미리 감사드립니다!
사용.except()
조금 더 유창하게 같은 일을 해낼 것입니다.
$users = User::all()->except(Auth::id());
...또는 사용자 ID를 이미 가지고 있으므로:
$users = User::all()->except($currentUser->id);
현재 사용자의 ID를 얻을 수 있습니다.auth()->id()
. 그런 다음 쿼리에 전달합니다.
$users = User::where('id', '!=', auth()->id())->get();
Auth 도우미를 사용하는 경우 이 작업을 사용합니다.
User::where('id', '!=', Auth::user()->id)->get();
App\Models\User::whereKeyNot(auth()->id)->get()
'except'를 사용하면 실제로 모든 사용자를 검색한 다음 컬렉션에 대한 추가 작업을 수행하여 현재 사용자를 제거할 수 있으므로 효과적이지 않습니다.
Use Auth;
Use App\User;
public function index()
$id = Auth::id();
$result = User::where('id', '!=', $id)->get();
dd($result);
더 좋은 답은 사용하는 것입니다.whereNotIn
원치 않는 기록을 전혀 검색하지 않도록 할 것입니다.
승인된 답변은 모든 내용을 검색한 다음 필터링합니다.
$user_ids_to_exclude = $users_collection->pluck('id')->toArray();
$this->filtered_posts = Post::latest('published_at')
->whereNotIn('author_id', $user_ids_to_exclude) # This part
->get();
언급URL : https://stackoverflow.com/questions/24613565/get-all-the-users-except-current-logged-in-user-in-laravel-eloquent
반응형
'programing' 카테고리의 다른 글
jQuery에서 두 클래스를 전환하는 가장 쉬운 방법 (0) | 2023.09.27 |
---|---|
PHP에서 오브젝트를 캐스트하는 방법 (0) | 2023.09.27 |
ODP.NET Managed - 요청한 항목을 찾을 수 없습니다.넷 프레임워크 데이터 프로바이더 (0) | 2023.09.17 |
날짜에서 연도를 추출합니다. df['year'] = df['date'].연도가 작동하지 않습니다. (0) | 2023.09.17 |
탐색 드로어에서 메뉴 항목의 텍스트 색상 변경 (0) | 2023.09.17 |