Laravel 5.3 Erstellen von Modellen Zurück "- Feld nicht mit einem Standard-Wert"
Bin ich mit Laravel und Eloquent für zwei Jahren, und heute habe ich beschlossen, zu installieren eine neue Laravel 5.3 und versuchen etwas mit ihm.
Ich habe ein altes Datenbank-schema von mir und meinen Modellen, definiert ausfüllbare Spalten. Dies ist, was mein Page
Modell sieht wie folgt aus:
<?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 ist ein TEXT
-Spalte Typ auf MySQL also, wenn ich nicht bestehen, und es muss bei der Erstellung eines Modells, es sollte ein leerer string. Anstelle, ich bekomme den SQLSTATE[HY000]: General error: 1364 Field 'url' doesn't have a default value
Fehler.
Hier ist mein Versuch, ein Post-model:
Page::create([
'title' => $root_menu['title'],
'slug' => $root_menu['slug'],
'language' => $this->language,
'wireframe' => key(config('cms.wireframe')),
'order' => 0
]);
Ist das ein Laravel 5.3 Verwandtes Problem oder bin ich etwas fehlt? Vielen Dank im Voraus für Ihre Hilfe.
InformationsquelleAutor der Frage Guney | 2016-09-02
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den Grund für den Fehler wurde erklärt durch @Nicklas.
Den Grund, warum das passiert jetzt, jedoch ist, dass Laravel 5.3 verwendet
strict
- Modus für MySQL standardmäßig.Wenn Sie möchten, um wieder zum vorherigen Verhalten, aktualisieren Sie Ihre
config/database.php
- Datei und legen Sie'strict' => false
für Ihre Verbindung.InformationsquelleAutor der Antwort patricus
Sie versuchen, ein Objekt einfügen, ohne " URL "- Attribut in einer Tabelle, die eine " URL " - Spalte ohne default-Wert. So kann die Datenbank nicht wissen, was zu tun mit dieser Spalte.
Können Sie einen der drei Dinge.
Post-migration oder-schema, wenn Sie weitere Hilfe benötigen.
InformationsquelleAutor der Antwort Nicklas Kevin Frank