Когда я создаю этот запрос:Получение свежий набор результатов с помощью Laravel в Query Builder
$data = DB::table('data')
->leftJoin('urls', 'data.url_id', '=', 'urls.id')
->where('urls.tag', $tag)
->where('urls.requester_id', $requester_id)
->orderBy('data.created_at')
->take(100);
И затем получить первую строку, чтобы выполнить некоторые валидаций на нем:
$sample = $data->first();
Все последующие вызовы будут возвращать только что первый ряд, даже если я использую get()
:
$all_rows = $data->get();
я попытался сделать следующее, но он делает не предотвратить потерю остальной части набора результатов $data
:
$first = $data;
$sample = $first->first();
$all_rows = $data->get(); // Still results in the same contents as `$sample`
попытался также, но те же результаты:
$all_rows = $data->getFresh();
Что здесь происходит и как это обойти?
Что ваша проблема? Опишите это подробно. – lijinma
приведенный выше код должен работать. как вы передаете данные контроллеру? – itachi
@itachi да, я бы подумал, что нужно. Контроллеру ничего не передается. Это команда, которая генерирует только CSV-файл. – eComEvo