我正在創建數據庫通知。我有 2 個通知類:InterviewRequestReceived.php:$user = Auth::user(); $interviewRequestReceived = InterviewRequestsReceived::latest()->where('user_id', $user->id)->get(); return [ 'date_time1' => $interviewRequestReceived[$interviewRequestReceived->count() - 1]->latest()->get('date_time1'), 'date_time2' => $interviewRequestReceived[$interviewRequestReceived->count() - 1]->latest()->get('date_time2') ];和 InterviewRequestSent.php:public function toDatabase($notifiable) { $user = Auth::user(); $interviewRequestSent = InterviewRequestsSent::latest()->where('user_id', $user->id)->get(); return [ 'date_time1' => $interviewRequestSent[$interviewRequestSent->count() - 1]->latest()->get('date_time1'), 'date_time2' => $interviewRequestSent[$interviewRequestSent->count() - 1]->latest()->get('date_time2') ]; }我有 3 張桌子。interview_requests_receiveds、interview_requests_sents 和我創建了通知表并進行了遷移。在我的表格上,我有 2 個日期時間字段選項,因此雇主可以選擇 2 個可能的日期和時間來面試候選人。我的表格正在工作。我的通知正在工作,只是它插入了所有登錄用戶的日期和時間,而不僅僅是最后插入的記錄。我正在嘗試使用 latest(),但它不起作用。
1 回答

慕哥6287543
TA貢獻1831條經驗 獲得超10個贊
根據 Laravel 文檔
和方法允許您輕松地
latest
按日期排序結果。默認情況下,結果將按 列排序?;蛘?,您可以傳遞您希望排序的列名oldest
created_at
如果你想使用 latest then 而不是get()
使用first()
函數:
如果created_at
您的表中已經有列,那么
$interviewRequestSent = InterviewRequestsSent::latest()->where('user_id', $user->id)->first();
或者
假設您想根據id
列獲取最后一條記錄
$interviewRequestSent = InterviewRequestsSent::latest('id')->where('user_id', $user->id)->first();
或者您可以使用以下任何方法獲取最后一條記錄
InterviewRequestsSent::where('user_id', $user->id)->last();
或者
InterviewRequestsSent::where('user_id', $user->id)->orderBy('id', 'desc')->first();`
參考:
- 1 回答
- 0 關注
- 91 瀏覽
添加回答
舉報
0/150
提交
取消