我正在创建数据库通知。我有 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 关注
- 98 浏览
添加回答
举报
0/150
提交
取消