Чтобы отображать «нулевые» значения как «0» при использовании Laravel Excel, вы можете использовать разные методы в зависимости от ваших конкретных требований. Вот несколько подходов с примерами кода:
- Использование условных операторов.
Вы можете использовать условный оператор, чтобы проверить, является ли значение нулевым, а затем вместо этого отобразить «0». Вот пример использования функцииmap():
use Maatwebsite\Excel\Concerns\FromCollection;
use Maatwebsite\Excel\Concerns\WithMapping;
class MyExport implements FromCollection, WithMapping
{
public function collection()
{
// Your data collection
return YourModel::all();
}
public function map($row): array
{
return [
$row->column1 ?? 0,
$row->column2 ?? 0,
// Add more columns as needed
];
}
}
В приведенном выше примере оператор ??проверяет, является ли значение столбца нулевым, и заменяет его на «0».
- Использование аксессоров.
Другой подход — определить в вашей модели аксессоры, которые позволят вам манипулировать значениями атрибутов до того, как к ним будет осуществлен доступ. Вот пример:
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class YourModel extends Model
{
public function getColumn1Attribute($value)
{
return $value ?? 0;
}
public function getColumn2Attribute($value)
{
return $value ?? 0;
}
// Define accessors for other columns as needed
}
Определив методы доступа для соответствующих столбцов, вы можете гарантировать, что любые нулевые значения будут преобразованы в «0», когда Laravel Excel извлекает данные.
Это несколько методов для отображения нулевых значений как «0» в Laravel Excel. Выберите тот, который лучше всего соответствует структуре и требованиям вашего проекта.