Я создал область действия модели
Подробнее об областях применения:
Итак, добавьте этот метод области действия к вашей модели, который будет Ticket
/**
* Scope a query to only include the last n days records
*
* @param \Illuminate\Database\Eloquent\Builder $query
* @return \Illuminate\Database\Eloquent\Builder
*/
public function scopeWhereDateOccurs($query, $fieldName, $upToDate,$noOfDays = 5)
{
$startFrom = \Illuminate\Support\Carbon::parse($upToDate)->toDateTimeString();
$endUpTo = \Illuminate\Support\Carbon::createFromDate( $startFrom)->subDays( $noOfDays)->toDateTimeString();
return $query->whereDate($fieldName, '>=', $startFrom)->whereDate($fieldName, '<=', $endUpTo);
}
Итак, мы закончили с методом
Теперь в вашем контроллере
$ticket = Tickets::where('id','=',$id)
->WhereDateOccurs( 'created_at', '01-05-2019',5)
->get();
и вот журнал сгенерированных запросов
SELECT *
FROM `tickets`
WHERE Date(`created_at`) >= ?
AND Date(`created_at`) <= ?
AND `id` = ?
AND `tickets`.`deleted_at` IS NULL
, и я использую программные средства удаления, поэтому Удален_С IS NULL добавлен ко всем построителям запросов.