Я использую Laravel и Eloquent два года, и сегодня я решил установить свежий 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
- это столбец типа TEXT
в MySQL, поэтому, если я не передаю ему какое-либо значение при создании модели, это должна быть пустая строка. Вместо этого я продолжаю получать 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, или я что-то упустил? Заранее благодарим за помощь.