私はLaravelとEloquentを2年間使用していますが、今日は新鮮なLaravel 5.3をインストールしてそれを試してみました。Laravel 5.3モデルの作成戻り値「フィールドにデフォルト値がありません」
私は古いデータベーススキーマを使用して、モデルを作成し、定義可能な列を作成しました。これは私のPage
モデルは次のようになります。
<?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
属性は、モデルを作成するとき、私はそれに任意の値を渡すことはありませんので、もし、それが空の文字列でなければなりませんMySQLの上TEXT
型の列です。代わりに、私はSQLSTATE[HY000]: General error: 1364 Field 'url' doesn't have a default value
エラーを取得し続ける。ここで
は、Postモデルを作成するための私の試みです:
Page::create([
'title' => $root_menu['title'],
'slug' => $root_menu['slug'],
'language' => $this->language,
'wireframe' => key(config('cms.wireframe')),
'order' => 0
]);
これはLaravel 5.3関連の問題ですか、私は何かが足りないのですか?あなたの助けを前にありがとう。
あの卑劣な息子... – swt83