sql >> Database teknologi >  >> RDS >> Mysql

Laravel leftJoin kun sidste post af højre tabel

Her har vi 2 tabeller brugere og svar hvor brugere er venstre tabel og svar er højre tabel, som har brugersvar.

Vi ønskede at forlade brugere med svar men sammenføjningen skal være med den seneste registrering eller svar tabel.

$query = Users::select('users.id', 'users.user_name','answers.created_at as last_activity_date')
->leftJoin('answers', function($query) 
{
   $query->on('users.id','=','answers.user_id')
   ->whereRaw('answers.id IN (select MAX(a2.id) from answers as a2 join users as u2 on u2.id = a2.user_id group by u2.id)');
})
->where('users.role_type_id', Users::STUDENT_ROLE_TYPE)->get();


  1. PHP array_intersect eller in_array og derefter MYSQL

  2. Sådan fjerner du "X Rows Selected" i SQLcl &SQL*Plus (Oracle)

  3. Hvordan matcher jeg en hel dag med et dato-tidsfelt?

  4. Sådan bruger du match imod i mysql