Ошибка при использовании https://github.com/Maatwebsite/Laravel-Excel

я использую https://github.com/Maatwebsite/Laravel-Excel этот пакет. И когда я загружаю свой файл, и дд (результат)

    CellCollection {#842 ▼

#title: null
#items: array:4 [▼
"news_title" => "7th AGM of ADBL today; endorsing 47% cash""desc" => "The AGM will be endorsing 47% percent cash dividend to its shareholders from the net profit it earned in last fiscal year 2070/71. ""link" => "http://www.sharesansar.com/viewnews.php?id=26224&cat=news""stock_code" => "LBL"]
}

Итак, здесь #items содержит мои данные, тогда как я не знаю, почему выводится #title. И когда я пытаюсь сохранить свои данные, я получаю сообщение об ошибке нарушения целостности из-за этого #title? Итак, есть ли решение?

Вот мой код для хранения данных

     public function excelNews()
{
if (Input::hasFile('file')) {
$file = Input::file('file');
Excel::load($file, function($reader) {
$reader->setDateFormat('j/n/Y H:i:s');
$results = $reader->get();
foreach ($results as $result)
{
dd($result); // for testing
$news = new StockNews;
$news->title = $result->news_title;
$news->desc = $result->desc;
$news->save()
}

});
}
Flash::success('News has been successfully updated');
return redirect::back();
}

Сообщение об ошибке

Нарушение целостности Ограничение Колонка ‘title’ не может быть нулевой

0

Решение

Ошибка происходит потому, что заголовок является нулевым и попробуйте сохранить его в БД.

Есть 2 способа решить проблему

При миграции установите для столбца значение NULL.

$table->string('title')->nullable();

источник: http://laravel.com/docs/4.2/schema#adding-columns

или проверьте значение и, если оно пустое, установите заголовок в качестве пустой строки

$news->title = ($result->news_title) ? $result->news_title : '' ;
1

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]