¿Cómo consigo el último registro en una tabla con una cláusula donde el uso laravel?

Ryan: Sacos

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.

Sehdev:

Según laravel Documentación

El latesty oldestmétodos que permiten de manera fácil ordenar los resultados por fecha . Por defecto, los resultados se ordenará por la created_atcolumna. 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_atla 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 idla 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:

Laravel -> Generador de consultas -> método más reciente

Supongo que te gusta

Origin http://43.154.161.224:23101/article/api/json?id=298848&siteId=1
Recomendado
Clasificación