Использую Sluggable Behavior, хочу чтобы при создании записи автоматически генерировался уникальный slug:
public function behaviors()
{
return [
[
'class' => SluggableBehavior::className(),
'attribute' => 'name',
'ensureUnique' => true
],
'timestampBehavior' => [
'class' => TimestampBehavior::className(),
],
];
}
И в контроллере:
if ($model->load(Yii::$app->request->post())) {
$model->user_id = Yii::$app->user->id;
$model->status = Place::STATUS_ACTIVE;
// $model->slug = \yii\helpers\BaseInflector::slug($model->name); // Саначала решил проблему этим, но это генерирует не уникальный слаг
if($model->save(false)) {
return $this->redirect(['/'.$model->slug]);
}
}
Вот ошибка, соответсвенно:
SQLSTATE[HY000]: General error: 1364 Field 'slug' doesn't have a default value
Если нажать "Update" и сохранить без изменений, он только тогда сгенерируется, но мне нужно чтобы генерировалось с самого создания.
В чем проблема? В прошлых проектах было все нормально, сейчас что-то пошло не так.