mercredi 2 août 2017

Laravel Eloquent Check multiple orWhere statements then sort between two dates

I am trying to run a query in which I find out what positions a person held between two dates. Here is what I have so far:

$startDate = Carbon::parse($start)->toDateString();
      $endDate = Carbon::parse($end)->toDateString();

$user = Auth::id();

    $Positions = Position::whereBetween('shootDate', array($startDate, $endDate))->where('photographer_id', $user)->orWhere('photoEditor_id', $user)->orWhere('videographer_id', $user)
            ->orWhere('videoEditor_id', $user)->orWhere('scheduler_id', $user)->orWhere('drone_id', $user)->orWhere('webpage_id', $user)
            ->orWhere('flyer_id', $user)->orWhere('zillow_id', $user)->get();

I know this isn't going to work because of the orWhere statements basically override the whereBetween command but I don't know how to get around this.

I need to either get the list between the two dates, then see if the user held ANY of those positions, or get All of the positions that the user has, AND THEN only include those between the two dates. Does anyone know how I can accomplish this?



via Chebli Mohamed

Aucun commentaire:

Enregistrer un commentaire