라 라벨 5.2 WhereNotIn 쿼리

마이클 손

그래서 저는이 매우 큰 검색 쿼리를 가지고 있으며 사용자 검색을 차단 한 사용자를 검색에서 제거하려고합니다.

나는 정말 혼란스럽고 돌아 서서 어떤 도움을 원합니다.

block_users 테이블에는 다음이 포함됩니다.

id
user_id
blocked_user_id

사용자가 다른 사용자를 차단하면 행이 생성됩니다. 지금까지 사용자가 검색에 전혀 표시되지 않는 사람을 차단하지 않았는지 확인하고 있습니다 (조인 때문에 내 추측, 사용자가 테이블에 존재하지 않으면 표시되지 않습니까 ??.)

다음은 내 검색어의 짧은 스 니펫입니다.

  $query = User::join('user_profiles', 'users.id', '=','user_profiles.user_id');
  $query->Join('blocked_users', 'users.id', '=', 'blocked_users.user_id');
  $query->whereNotIn('blocked_users.blocked_user_id',[Auth::user()->id])->select('users.*','user_profiles.*');

편집하다

좋아, 내 사용자 ID가 1이고 사용자 2가 더 이상 연락하지 않거나 검색에 표시되기를 원하지 않으면 테이블에 행을 추가하는 나를 차단합니다.

정수, 사용자 _ID = 2, 차단 _ 사용자 _ID = 1

검색을하면 사용자 2가 사용자 1의 검색에 표시되는 것을 원하지 않습니다.

그러나 leftJoin 나를 차단 한 사용자에 관계없이 내 사용자 ID가 blocked_user_id의 행에 있으면 사용자가 표시되지 않습니다.

다른 방법으로 시각적 데이터를 제공 할 수 있는지 잘 모르겠습니다. 전체 쿼리는 매우 방대하며 완벽하게 작동합니다. where 절을 결합하는 방법을 잘 모르겠습니다.

Mattcrowe

이것은 그것을 할 수 있습니다 :

$query = User::join('user_profiles', 'users.id', '=','user_profiles.user_id');
      $query->leftJoin('blocked_users', function ($sub_query) {
      $sub_query->on('users.id', '=', 'blocked_users.user_id');
      $sub_query->where('blocked_users.blocked_user_id', '=',  Auth::user()->id);
  });
  $query->where('users.id', '!=', Auth::user()->id);
  $query->whereNull('blocked_users.id');
  $query->select('users.*','user_profiles.*');

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

라 라벨 5 쿼리 빌더 레코드 셋 어레이

분류에서Dev

라 라벨 5 쿼리 "where (a OR b OR c) AND (d OR e OR f) AND ... (x OR y OR z)"

분류에서Dev

라 라벨의 MySQL 쿼리

분류에서Dev

라 라벨. Eloquent 쿼리

분류에서Dev

라 라벨. 깨진 쿼리

분류에서Dev

라 라벨 5 TokenMismatchException

분류에서Dev

라 라벨 5 데이터베이스 쿼리 도움말 구함

분류에서Dev

라 라벨 5 루트 (: any)

분류에서Dev

라 라벨 쿼리 최적화

분류에서Dev

라 라벨 쿼리 수 총 행

분류에서Dev

하위 쿼리의 라 라벨 합계

분류에서Dev

다 대다 관계 쿼리. 라 라벨

분류에서Dev

다 대다 관계 쿼리. 라 라벨

분류에서Dev

라 라벨 커스텀 원시 쿼리

분류에서Dev

라 라벨 쿼리 최신 기록

분류에서Dev

R ggplot2 그리드 라벨링

분류에서Dev

라 라벨 5 모델 충돌 처리 방법

분류에서Dev

라 라벨 + 폴리머

분류에서Dev

Android 5 SD 카드 라벨

분류에서Dev

라 라벨 4/5 검색 양식

분류에서Dev

라 라벨 5 레지스터 인증

분류에서Dev

라 라벨 5-인코딩 문자

분류에서Dev

라 라벨 5 모델 클래스

분류에서Dev

라 라벨 5 SQLSTATE [23000] users_email_unique

분류에서Dev

라 라벨 5 인증 오류

분류에서Dev

'를 & # 039로 대체하는 라 라벨 쿼리 빌더

분류에서Dev

원시 쿼리를 웅변 적 라라 벨로 변환

분류에서Dev

라 라벨 컨트롤러의 SQL 쿼리 구문

분류에서Dev

라 라벨 검색 기능 쿼리 빌더