Медиа-библиотека Laravel Spatie model_type не имеет значения по умолчанию

У меня проблемы с настройкой Laravel с пакетом Spatie Media Library.

Вот ошибка, которую я получаю:

SQLSTATE[HY000]: General error: 1364 Field 'model_type' doesn't have a default value (SQL: insert into `images` (`updated_at`, `created_at`) values (2018-04-05 10:38:39, 2018-04-05 10:38:39))

Я использую MySQL через Homebrew и отключил строгий режим. Также я установил строгий режим на false в файле config / database.php.

Контроллер | ImageController.php

<?php

namespace App\Http\Controllers;

use App\Image;
use Illuminate\Http\Request;

class ImageController extends Controller
{

public function addBackgroundImage(Request $request)
{

Image::create()
->addMediaFromRequest('background')
->toMediaCollection('backgrounds')
->save();


return redirect('/settings')->with('success', 'Hintergrund Bild hinzugefügt');
}

}

Модель | image.php

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;
use Spatie\MediaLibrary\HasMedia\HasMediaTrait;
use Spatie\MediaLibrary\HasMedia\HasMedia;

class Image extends Model implements HasMedia
{
use HasMediaTrait;

}

Посмотреть | settings.blade.php

{!! Form::open(['action' => 'ImageController@addBackgroundImage', 'method' => 'POST', 'files' => true]) !!}

<div class="file-field input-field">
<div class="btn">
<span>Background</span>
{{Form::input('file', 'background')}}
</div>
<div class="file-path-wrapper">
<input class="file-path validate" type="text">
</div>
</div>

<button class="btn waves-effect waves-light" type="submit" >Speichern
<i class="material-icons right">send</i>
</button>

{!! Form::close() !!}

Маршруты | web.php

Route::post('/settings', 'ImageController@addBackgroundImage')->name('background.store');

миграция

Schema::create('images', function (Blueprint $table) {
$table->increments('id');
$table->morphs('model');
$table->string('collection_name');
$table->string('name');
$table->string('file_name');
$table->string('mime_type')->nullable();
$table->string('disk');
$table->unsignedInteger('size');
$table->json('manipulations');
$table->json('custom_properties');
$table->json('responsive_images');
$table->unsignedInteger('order_column')->nullable();
$table->nullableTimestamps();
});

Настроить

  • Laravel / Framework: «5,6. *»
  • spatie / laravel-medialibrary: «^ 7.0.0»

Спасибо за любую помощь!

0

Решение

Задача ещё не решена.

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

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

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