Laravel Query Builder передает несколько параметров, так как разделенный запятыми список не работает - PullRequest
0 голосов
/ 19 октября 2018

Я использую spatie / laravel-query-builder для создания фильтра области видимости.В документации я прочитал это:

Вы даже можете передать несколько параметров в область, передав список фильтра через запятую:

GET /events?filter[starts_between]=2018-01-01,2018-12-31

Итак, я сделалФильтр области действия в моей модели выглядит следующим образом:

public function scopeStartsBetween(Builder $query, $dates): Builder
{
    dd($dates);

    return $query->whereBetween('created_at', array($dates[0], $dates[1]));
}

Мой запрос выглядит так:

http://127.0.0.1:8000/?filter[starts_between]=2018-10-15,2018-10-17

Результат dd($dates) таков:

"2018-10-15"

То есть разделенный запятыми список для нескольких параметров не работает, или я что-то не так делаю?

1 Ответ

0 голосов
/ 19 октября 2018

Проблема заключается в том, что несколько параметров должны обрабатываться как отдельные параметры для функции области действия:

public function scopeStartsBetween(Builder $query, $from, $to): Builder
{
    return $query->whereBetween('created_at', array(Carbon::parse($from), Carbon::parse($to)));
}

Это помогает.

...