У меня есть следующий экспорт laravel excel:
namespace App\Admin\Exports\Items;
use App\Flare\Models\Item;
use Illuminate\Contracts\Queue\ShouldQueue;
use Maatwebsite\Excel\Concerns\Exportable;
use Maatwebsite\Excel\Concerns\FromQuery;
class ItemsExport implements FromQuery, ShouldQueue {
use Exportable;
public function query() {
return Item::all();
}
}
Который вызывается в этом действии контроллера:
public function export() {
(new ItemsExport)->queue('items.xlsx')->chain([
new ExportItemsEmail(auth()->user()),
]);
return redirect()->back()->with('success', 'File will be emailed to you once done.');
}
Для этой таблицы более 5 тыс. записей
Horizon корректно отправляет задание, но одно из них не выполняется:
Maatwebsite\Excel\Jobs\AppendQueryToSheet
ArgumentCountError: Слишком мало аргументов для функции Illuminate\Support\Collection::get(), передано 0 › в /home/person/Documents/flare/vendor/maatwebsite/excel/src/Jobs/AppendQueryToSheet.php в строке 96 и не менее 1 ожидается в /home/person/Documents/flare/vendor/laravel/framework/src/Illuminate/Collections/Collection.php:407
Разве это не то, как вы бы поставили в очередь большой экспорт, который должен разбивать результаты запроса?
Мне нужно добавить задание, поэтому я не могу просто сохранить его. Я делаю что-то не так?
Item::all()
, а использоватьItem::query()
? Я не уверен во внутренней работе того, что здесь происходит, но если это попытка связать функции в классеBuilder
, в конечном итоге выполняя->get()
для завершения запроса,Item::all()
не будет работать, так как возвращаетCollection
. - person Tim Lewis   schedule 16.06.2021->get()
на своемItem::all()
? - person Ezra Lazuardy   schedule 16.06.2021::query()
был прав, однако теперь задание не делится на несколько заданий и, следовательно, время ожидания истекает. - person TheWebs   schedule 16.06.2021all()
возвращаетCollection
, а->get()
наCollection
требует как минимум 1 аргумент.::all()
здесь просто объективно неправильно. @TheWebs К сожалению, эта часть выходит за рамки моих знаний; Я никогда не использовал чертуShouldQueue
дляlaravel-excel
, извините. Надеюсь, кто-то еще может помочь ???? - person Tim Lewis   schedule 16.06.2021