Перейти до основного вмісту

Часті запитання

Короткі відповіді на поширені запитання про налаштування, генерування, сховище, формати та пам'ять.

Чи може Laravel Feeds експортувати мільйони записів?

Так. Пакет читає результати Eloquent блоками та записує виведення поступово. Зберігайте builder() ледачим, не викликайте get() або toArray() для повного результату й налаштовуйте chunkSize() після вимірювання пам'яті та навантаження на базу даних.

Дивіться швидкодію на великих наборах даних.

Який формат вибрати?

Використовуйте контракт, якого вимагає споживач. XML і RSS підтримують ієрархічні директиви, JSON зберігає вкладені дані, JSON Lines підходить для обробки за рядками, а CSV потребує стабільної схеми стовпців.

Дивіться підтримувані формати.

Чи може один фід створити кілька файлів?

Так, але механізм потрібно вибрати відповідно до того, чому файли відрізняються:

  • Використовуйте perFile() і, за потреби, maxFiles(), щоб розділити один набір даних на послідовні частини з фіксованою кількістю записів.
  • Використовуйте цілі фіду, щоб створити окремий відфільтрований результат для кожного партнера, магазину, локалі або іншого бізнес-ключа.
  • Поєднуйте обидва механізми, коли результат для кожного партнера також потрібно розділити на кілька частин за кількістю записів.

Повний приклад наведено в рецепті «Кілька цільових файлів фіду».

Чи можна зберігати фіди на S3 або іншому віддаленому диску?

Так, якщо налаштований диск Laravel визначається як придатний до запису FilesystemAdapter. Віддалене переміщення може бути реалізоване як копіювання з подальшим видаленням, тому атомарна заміна не гарантується.

Дивіться підтримувані диски.

Чому вимкнений фід було виконано?

Передавання ідентифікатора фіду до feed:generate виконує цей фід, навіть якщо його реєстрація неактивна. Виклик команди без ідентифікатора пропускає неактивні реєстрації.

Дивіться генерування окремого фіду.

Як пропустити необов'язкове поле?

Поверніть DragonCode\LaravelFeed\Data\OptionalData або Spatie\LaravelData\Optional як значення поля. CSV зберігає стовпець і записує порожнє значення; об'єктні формати й XML пропускають поле.

Дивіться необов'язкові значення.

Дивіться також