Ich habe eine Tabelle jobs
. Ein Job kann 1 oder mehr Zeilen in jobs_days
habenLaravel Join nicht zurückgegeben angegebene Spalte
Ich möchte eine Liste von jobs
zurückgeben, die mindestens 1 'Job-Tag' haben. Also ich habe das hier ist meine Jobs Model:
public function days(){
return $this->hasMany('App\JobsDays', 'job_id', 'id');
}
Das funktioniert gut. Allerdings muss ich eine Liste mit Jobs haben, die mindestens einen Jobtag haben, aber diese Liste nach diesem Jobstartdatum sortieren: start2
(Zeitstempel) Spalte. Ich habe versucht mit:
$jobs = Jobs::has('days')
->leftJoin('jobs_days', function ($join) {
$join->where('jobs_days.job_id', '=', 'jobs.id');
})
->select('jobs.id','jobs_days.start2')
->orderBy('jobs_days.start2', 'asc')->paginate(15);
Das wird nicht mein start2
Datum zurück. Wenn ich on
anstelle von where
verwende, bekomme ich meine start2
Spalte, aber es gibt jetzt doppelte Jobs zurück.
Sie können Ihre eigene Antwort einreichen und akzeptieren. – aethergy