yii2 SluggableBehavior仅适用于emty段塞油田
我正以这种方式使用SluggableBehavioryii2 SluggableBehavior仅适用于emty段塞油田,yii2,behavior,Yii2,Behavior,我正以这种方式使用SluggableBehavior public function behaviors() { return [ [ 'class' => SluggableBehavior::className(), 'attribute' => 'name', 'slugAttribute' => 'alias',
public function behaviors()
{
return [
[
'class' => SluggableBehavior::className(),
'attribute' => 'name',
'slugAttribute' => 'alias',
],
];
}
如果表单中的字段“alias”为空,则效果很好。
如果表单提交时字段别名不为空,如何忽略此行为
提前谢谢 试试以下方法:
使用特定名称配置此行为:
return [
'slug' => [
'class' => SluggableBehavior::className(),
'attribute' => 'name',
'slugAttribute' => 'alias',
],
];
在控制器中,在验证之前从窗体加载属性
检查别名属性是否为空。
如果不是-分离此行为$this->detachBehavior'slug'。
验证模型。
在行为配置中添加'immutable'=>true
该行为的工作方式是,如果启用immutable时slugAttribute不是空的,则该属性不会更改。Bizley!谢谢你的回答。这是一个有效的决定。