我正在以这种方式使用SluggableBehavior
public function behaviors()
{
return [
[
'class' => SluggableBehavior::className(),
'attribute' => 'name',
'slugAttribute' => 'alias',
],
];
}
它很好用如果字段'别名'在形式是空的。
如何忽略此行为如果字段alias
在表单提交时不为空?
提前感谢!
答案 0 :(得分:1)
在行为配置中添加'immutable'=>true
。
行为以这种方式起作用,如果slugAttribute
开启时immutable
不为空,则该属性不会更改。
答案 1 :(得分:0)
尝试类似:
使用特定名称配置此行为:
return [
'slug' => [
'class' => SluggableBehavior::className(),
'attribute' => 'name',
'slugAttribute' => 'alias',
],
];
来自表单的控制器加载属性(验证前)。
alias
属性是否为空。$this->detachBehavior('slug')
)。