Estoy creando notificaciones de bases de datos. Tengo 2 clases de notificación: 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')
];
y 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')
];
}
Tengo 3 tablas. interview_requests_receiveds, interview_requests_sents y he creado la tabla notificaciones y migran. En mi formulario tengo 2 opciones para la fecha y hora campos, por lo que los empleadores pueden elegir 2 veces la fecha posible y que trabajaría para ellos para entrevistar a un candidato. Mi forma está trabajando. Mis notificaciones están trabajando excepto que se inserta todo el registrado en fecha y horas de Usuarios, en lugar de sólo el último registro insertado.
Estoy tratando de utilizar la última (), pero no funciona.
Según laravel Documentación
El
latest
yoldest
métodos que permiten de manera fácil ordenar los resultados por fecha . Por defecto, los resultados se ordenará por lacreated_at
columna. O bien, puede pasar el nombre de la columna que desea ordenar por
Si desea utilizar la última entonces en vez de get()
usar first()
la función:
Si ya existe created_at
la columna en la tabla a continuación,
$interviewRequestSent = InterviewRequestsSent::latest()->where('user_id', $user->id)->first();
O
Suponiendo que se desea conseguir último registro sobre la base de id
la columna
$interviewRequestSent = InterviewRequestsSent::latest('id')->where('user_id', $user->id)->first();
O puede obtener el último registro utilizando cualquiera de los métodos siguientes
InterviewRequestsSent::where('user_id', $user->id)->last();
O
InterviewRequestsSent::where('user_id', $user->id)->orderBy('id', 'desc')->first();`
Referencia: