Reputation:
I have table A ( id - message - user_id )
, I need to say if any user_id
duplicated in table just bring last one that user had added:
My controller code (my wrong shut):
$duplicate = VerfiyRequest::where('user_id', '>' , 1)->first();
$VerfiyRequests = VerfiyRequest::latest()->get();
return view('backend.VerfiyRequest.index' , compact('VerfiyRequests'));
Upvotes: 1
Views: 1113
Reputation: 9029
Use this to get the last record of each user by the latest id (incrementing primary key):
VerfiyRequest::whereIn('id', function ($query) {
$query
->from('verify_requests')
->select(DB::raw('MAX(id) as id'))
->groupBy('user_id');
})->get();
Explanation: the MAX(id) as id
selects latest id
of each user group, so the inner query returns latest record of each user.
Upvotes: 1