그룹에 대한 최신 기록으로 그룹화하는 방법

max234435

groupBy ( 'author_id')에 어떤 laravel 쿼리를 사용하지만 최신 결과는 무엇입니까? 지금 내가 시도하는 모든 것이 첫 번째 결과를 가져옵니다. MAX (id)를 ID SQL 함수로 사용해 보았지만 운이 없습니다.

레코드를 확인하고 그룹에서 첫 번째 레코드를 찾습니다.

다음은 내가 사용중인 모델 쿼리입니다.

public function lastMessages() {
     return $this->hasMany('App\Message', 'recipient_id')->groupBy('author_id')->orderBy('created_at', 'DESC');
}

나는 또한 시도했다 :

public function lastMessages() {
     return $this->hasMany('App\Message', 'recipient_id')
         ->select(DB::raw('*, max(id) as id))
         ->groupBy('author_id')
         ->orderBy('id', 'desc');
}

나는 이것을 시도했지만 운이 없다.

public function lastMessages() {
     return $this->hasMany('App\Message', 'recipient_id')
         ->select(DB::raw('*, max(created_at) as created_at))
         ->groupBy('author_id')
         ->orderBy('created_at', 'desc');
}

위의 모든 항목은 author_id 그룹의 첫 번째 행을 반환합니다. 모든 그룹의 마지막 행 또는 최신 행을 반환하려고합니다. 나는 또한-> latest () 시도했지만 주사위가 없습니다!

도움을 주셔서 미리 감사드립니다.

내 테이블 :

id project_id author_id recipient_id message created_at updated_at

초보자

이러한 방식으로 각 작성자의 최신 메시지 ID를 가져 오는 하위 쿼리 조인을 만듭니다. 조인 하위 쿼리에서 각 작성자의 최신 메시지 ID를 이미 가져오고 있으므로 그룹 기준이 더 이상 필요하지 않습니다.

max (created)는 이미 각 그룹에서 최근 생성 된 메시지를 받고 있으므로 더 이상 필요하지 않습니다.

public function lastMessages() {
    return $this->hasMany('App\Message', 'recipient_id')
         ->select('*')
         ->join(DB::raw('(Select max(id) as id from messages group by author_id) LatestMessage'), function($join) {
            $join->on('messages.id', '=', 'LatestMessage.id');
            })
         ->orderBy('created_at', 'desc');
}

스크린 샷

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

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

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

신속한 배열로 그룹화하는 방법?

분류에서Dev

MongoDB의 각 고유 값에 대한 최대 날짜로 문서를 그룹화하고 가져 오는 방법

분류에서Dev

Kendo 그리드에 대한 초기 그룹화를 설정하는 방법

분류에서Dev

pandas-반복 대신 계산으로 그룹화하는 방법

분류에서Dev

jqgrid의 각 그룹에 대한 요약 바닥 글로 그룹화를 활성화하는 방법

분류에서Dev

비슷한 값을 기준으로 목록을 그룹화하는 방법

분류에서Dev

다른 항목으로 그룹화 된 결과 집합에서 최대 (열) 행을 계산하는 방법

분류에서Dev

집계에서 최대 값으로 배열 요소를 일치시키고 그룹화하는 방법

분류에서Dev

이름으로 그룹화 한 다음 R에서 각 그룹의 최대 값 만 선택할 수있는 방법은 무엇입니까?

분류에서Dev

MongoDB에서 여러 그룹으로 그룹화하는 방법

분류에서Dev

최대 날짜가 동일한 목록의 항목을 그룹화하고 필터링하는 방법

분류에서Dev

SQL에서 ID별로 그룹화 된 최대 행 수를 얻는 방법

분류에서Dev

학생별로 그룹화에 대한 쿼리를 작성하는 방법

분류에서Dev

그룹 지원을 활성화하고 기존 Skype 그룹 대화에 Skype 봇을 추가하는 방법

분류에서Dev

최근에 추가 한 자녀 그룹에 기능을 설정하는 방법

분류에서Dev

한 열의 최대 값과 다른 열의 최소값이 다른 열로 Python에서 df로 그룹화하는 방법은 무엇입니까?

분류에서Dev

사용자 ID로 테이블을 그룹화하고 다른 열에 대한 최대 값을 얻는 방법은 무엇입니까?

분류에서Dev

고유 한 값으로 그룹화하는 방법 Pandas Groupby

분류에서Dev

비슷한 값으로 배열을 그룹화하는 방법

분류에서Dev

두 값이있는 주어진 벡터 목록을 기반으로 그룹화 된 데이터에 대한 t.test를 계산하는 방법

분류에서Dev

필드 날짜를 기반으로 큰 쿼리에 대한 최신 기록을 얻는 방법

분류에서Dev

그룹화 된 쿼리의 각 범주에 대해 "최상의"행을 선택하는 우아한 방법

분류에서Dev

해당 그룹 내의 최대 필드 값에 해당하는 Mysql 그룹화 및 가져 오기 행

분류에서Dev

외부 그룹을 최대화 할 때 내부 개요 그룹을 숨기는 방법

분류에서Dev

HashMap으로 그룹화하는 방법?

분류에서Dev

고유하지 않은 필드로 최대 날짜별로 그룹화하는 방법

분류에서Dev

요소 목록을 그룹화하는 데 필요한 최소 그룹 수를 찾는 방법은 무엇입니까?

분류에서Dev

인덱스 현명한 목록을 그룹화하는 방법?

분류에서Dev

팬더에서 복잡한 상태로 그룹화하는 방법

Related 관련 기사

  1. 1

    신속한 배열로 그룹화하는 방법?

  2. 2

    MongoDB의 각 고유 값에 대한 최대 날짜로 문서를 그룹화하고 가져 오는 방법

  3. 3

    Kendo 그리드에 대한 초기 그룹화를 설정하는 방법

  4. 4

    pandas-반복 대신 계산으로 그룹화하는 방법

  5. 5

    jqgrid의 각 그룹에 대한 요약 바닥 글로 그룹화를 활성화하는 방법

  6. 6

    비슷한 값을 기준으로 목록을 그룹화하는 방법

  7. 7

    다른 항목으로 그룹화 된 결과 집합에서 최대 (열) 행을 계산하는 방법

  8. 8

    집계에서 최대 값으로 배열 요소를 일치시키고 그룹화하는 방법

  9. 9

    이름으로 그룹화 한 다음 R에서 각 그룹의 최대 값 만 선택할 수있는 방법은 무엇입니까?

  10. 10

    MongoDB에서 여러 그룹으로 그룹화하는 방법

  11. 11

    최대 날짜가 동일한 목록의 항목을 그룹화하고 필터링하는 방법

  12. 12

    SQL에서 ID별로 그룹화 된 최대 행 수를 얻는 방법

  13. 13

    학생별로 그룹화에 대한 쿼리를 작성하는 방법

  14. 14

    그룹 지원을 활성화하고 기존 Skype 그룹 대화에 Skype 봇을 추가하는 방법

  15. 15

    최근에 추가 한 자녀 그룹에 기능을 설정하는 방법

  16. 16

    한 열의 최대 값과 다른 열의 최소값이 다른 열로 Python에서 df로 그룹화하는 방법은 무엇입니까?

  17. 17

    사용자 ID로 테이블을 그룹화하고 다른 열에 대한 최대 값을 얻는 방법은 무엇입니까?

  18. 18

    고유 한 값으로 그룹화하는 방법 Pandas Groupby

  19. 19

    비슷한 값으로 배열을 그룹화하는 방법

  20. 20

    두 값이있는 주어진 벡터 목록을 기반으로 그룹화 된 데이터에 대한 t.test를 계산하는 방법

  21. 21

    필드 날짜를 기반으로 큰 쿼리에 대한 최신 기록을 얻는 방법

  22. 22

    그룹화 된 쿼리의 각 범주에 대해 "최상의"행을 선택하는 우아한 방법

  23. 23

    해당 그룹 내의 최대 필드 값에 해당하는 Mysql 그룹화 및 가져 오기 행

  24. 24

    외부 그룹을 최대화 할 때 내부 개요 그룹을 숨기는 방법

  25. 25

    HashMap으로 그룹화하는 방법?

  26. 26

    고유하지 않은 필드로 최대 날짜별로 그룹화하는 방법

  27. 27

    요소 목록을 그룹화하는 데 필요한 최소 그룹 수를 찾는 방법은 무엇입니까?

  28. 28

    인덱스 현명한 목록을 그룹화하는 방법?

  29. 29

    팬더에서 복잡한 상태로 그룹화하는 방법

뜨겁다태그

보관