SQLSTATE[HY000]: General error: 1364 Field 'tree' doesn't have a default value
The SQL being executed was: INSERT INTO `category` (`name`, `position`, `created_at`, `updated_at`, `lft`, `rgt`, `depth`) VALUES ('Категория 1', 1, 1567786272, 1567786272, 1, 2, 0)
Error Info: Array
(
[0] => HY000
[1] => 1364
[2] => Field 'tree' doesn't have a default value
)
Код выкладывать смысла не вижу, копия с примера. Версия Yii 2.0.26
$ yii migrate/create create_menu_table
Open the /path/to/migrations/m_xxxxxx_xxxxxx_create_menu_table.php file, inside the up() method add the following
$this->createTable('{{%menu}}', [
'id' => $this->primaryKey(),
//'tree' => $this->integer()->notNull(),
'lft' => $this->integer()->notNull(),
'rgt' => $this->integer()->notNull(),
'depth' => $this->integer()->notNull(),
'name' => $this->string()->notNull(),
]);
To use multiple tree mode uncomment tree field.
Поле tree используется только тогда, когда в одной таблице у вас несколько деревьев.
Т.е. ман ф топку
Вот за что я не люблю линукс, так это за свои кривые, временами, руки
$ yii migrate/create create_menu_table
Open the /path/to/migrations/m_xxxxxx_xxxxxx_create_menu_table.php file, inside the up() method add the following
$this->createTable('{{%menu}}', [
'id' => $this->primaryKey(),
//'tree' => $this->integer()->notNull(),
'lft' => $this->integer()->notNull(),
'rgt' => $this->integer()->notNull(),
'depth' => $this->integer()->notNull(),
'name' => $this->string()->notNull(),
]);
To use multiple tree mode uncomment tree field.
Поле tree используется только тогда, когда в одной таблице у вас несколько деревьев.
Т.е. ман ф топку
Так вот и хотелось бы использовать множество деревьев
protected function beforeInsertRootNode()
{
if ($this->treeAttribute === false && $this->owner->find()->roots()->exists()) {
throw new Exception('Can not create more than one root when "treeAttribute" is false.');
}
$this->owner->setAttribute($this->leftAttribute, 1);
$this->owner->setAttribute($this->rightAttribute, 2);
$this->owner->setAttribute($this->depthAttribute, 0);
}
Но для поля tree ничего не назначается, а потом обновляем tree: