2017-10-02 6 views
0

어떻게이 스크립트로 해 orderBy 방법을 사용할 수 있습니다 :방법 - laravel

public function getProposalByUser($userId) 
{ 
    return ProposalModel::where('user_id', '=', $userId)->paginate(4)->orderBy('desc'); 
} 

스크립트는 사용자가이 제안을 선택하는 것입니다. 그리고 나는 그것을 최신으로 정리하려고한다. 미리 감사드립니다, 내 나쁜 영어 죄송합니다 ..

+0

https://laravel.com/docs/5.5/queries#ordering-grouping-limit-and-offset이를 달성하는 방법에 대한 최대 읽기. 당신은 잘못된 순서로 그것들을 사용하고 있습니다. 당신이 주문하려고하는'열'을 놓치고 있습니다 ... –

답변

0

이 시도 :

return ProposalModel::where('user_id', '=', $userId)->orderBy('user_id', 'desc')->paginate(4); 
+0

aahhh .. 그 작품 .. 나는 당신의 스크립트를 시험해보고 다음과 같이 업데이트합니다 : ('id', 'desc') -> 페이지 매김 (4); –

+0

@ José 무엇이 잘못되었는지 설명하는 답변을 업데이트해야합니다. timlewis는 질문에 대해 좋은 코멘트를 남겼습니다. –

2

그것은 큰 문제를 보인다는 잘못된 순서로 방법을 사용하고 있다는 점이다.

public function getProposalByUser($userId) 
{ 
    return ProposalModel::where('user_id', '=', $userId)->orderBy('desc')->paginate(4); 
} 

paginate 실제로 컬렉션의 쿼리 결과를 반환하고 컬렉션은 orderBy 방법이 없으므로 다른 쿼리 빌더 방법과 수처럼 당신은 그것을 체인 수 없습니다.

두 번째로 엔티티에 실제로 'desc'이라는 속성이없는 경우 orderBy 메소드에 다른 인수가 필요합니다.

0

이 시도 :

return ProposalModel::where('user_id', '=', $userId)->orderBy('created_date', 'desc')->paginate(4); 
+0

Do 또는 Do not는 "시도"하지 않습니다. *** 좋은 대답 ***은 무엇을했는지에 대한 설명과 왜 그런 방식으로했는지에 대한 설명을 OP에서뿐만 아니라 미래의 방문객에게도 제공합니다. –