groupBy( 'author_id')ではなく最新の結果を得るためにどのようなlaravelクエリを使用しますか?今私が試したすべてが最初の結果を引き出す。私は、IDのSQL関数としてMAX(id)を使用して試してみましたが、運グループの方法グループの最新のレコードを確認
はそれだけでここ
は私が使用しています私のモデルのクエリでグループ内の最初のレコードを見つけ、レコードは[OK]を見つけていない:
私はこのようにも試してみました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')->groupBy('author_id')->orderBy('created_at', '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の最初の行を返します。私はすべてのグループまたは最新の行の最後の行を返すようにしています。私も試しました - >最新()とサイコロ!
ご協力いただきありがとうございます。
マイ表: は が をAUTHOR_ID PROJECT_ID
idが
希望の出力とともにいくつかのサンプルデータを表示すると役に立ちます。 –