Laravel 7 - импорт данных в базу данных с использованием maatwebsite / excel - PullRequest
0 голосов
/ 13 апреля 2020

maatwebsite / excel версия 3.1 php версия: 7.3 Laravel 7

Я получаю Trying to get property 'Relationship' of non-object в строке vendor/phpoffice/phpspreadsheet/src/PhpSpreadsheet/Reader/Xlsx.php:349

Я использовал ToModel, и я получал та же ошибка, поэтому я переключаюсь на коллекцию и получаю ту же проблему.

Извините за размещение всего моего кода в этом посте, но я думаю, что это может помочь вам получить мою ошибку.

здесь моя модель

class Article extends Model
{
    protected $table = 'bonfoodArticles';
    public $fillable = [
        'codearticle',
        'nom',
        'prix',
        'codeali',
        'nomali',
        'positiongps',
        'contactali',
        'categorie',
        'conditionnement',
        'description',
        'img',
        'afficheimg',
        'top_article',
        'slider',
        'desactiver',
        'prix_barre',
    ];

    public $timestamps = false;
}

А вот моя Import class


class ImportArticles implements ToCollection, WithMultipleSheets, SkipsUnknownSheets
{

    public function collection(Collection $rows)
    {
        foreach ($rows as $row)
        {

            Article::create([
                'codearticle'       => $row[0],
                'nom'               => $row[1],
                'prix'              => $row[2],
                'codeali'           => $row[3],
                'nomali'            => $row[4],
                'positiongps'       => $row[5],
                'contactali'        => $row[6],
                'categorie'         => $row[7],
                'conditionnement'   => $row[8],
                'description'       => $row[9],
                'img'               => $row[10],
                'afficheimg'        => $row[11],
                'top_article'       => $row[12],
                'slider'            => $row[13],
                'desactiver'        => $row[14],
                'prix_barre'        => $row[15],
            ]);
        }
    }

    public function sheets(): array
    {
        return [
            'bonfood_articles' => new ImportArticles(),
        ];
    }

    public function onUnknownSheet($sheetName)
    {
        info("Sheet {$sheetName} was skipped");
    }
}
    $collection = Excel::toCollection(new ImportArticles, request()->file('data_file'));

enter image description here

Мой файл .xlsx

Могу ли я узнать, какую ошибку я делаю? И Как мне решить эту проблему?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...