Laravel 5.3 Création de Modèles de rendement “du Champ ne doit pas avoir de valeur par défaut”

Je suis en utilisant Laravel et Éloquent pendant deux ans et aujourd'hui j'ai décidé d'installer un nouveau Laravel 5.3 et d'essayer quelque chose avec elle.

J'ai utilisé un vieux schéma de base de données de la mine et créé mes modèles, défini à remplir les colonnes. C'est ce que mon Page modèle ressemble:

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Model;

class Page extends Model
{

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = [
        'language',
        'title',
        'slug',
        'url',
        'description',
        'tags',
        'wireframe',
        'order',
        'is_active'
    ];

    public function menus()
    {
        return $this->belongsToMany(Menu::class);
    }
}

url attribut est un TEXTcolonne de type MySQL, donc si je ne passe pas toute la valeur lors de la création d'un modèle, il doit être une chaîne vide. Au lieu de cela, je reçois SQLSTATE[HY000]: General error: 1364 Field 'url' doesn't have a default value erreur.

Voici ma tentative de créer un modèle Post:

Page::create([
    'title' => $root_menu['title'],
    'slug' => $root_menu['slug'],
    'language' => $this->language,
    'wireframe' => key(config('cms.wireframe')),
    'order' => 0
]);

Est-ce un Laravel 5.3 question connexe ou ai-je raté quelque chose? Merci d'avance pour votre aide.

OriginalL'auteur Guney | 2016-09-02