添加子菜单成功,父级字段还是为空
打开yii2-admin的文件Menu.php (\vendor\mdmsoft\yii2-admin\models\Menu.php)
在该文件添加代码:
public function beforeSave($insert)
{
if($this->parent_name!=''){
$pid=static::find()->where('name=:pname',[':pname'=>$this->parent_name])->select(['id'])->one();
$this->parent=$pid->id;
}else{
$this->parent='';
}
return parent::beforeSave($insert); // TODO: Change the autogenerated stub
}
为了防止父级名称和子级名称重复 添加代码:
public function checkPName(){
if($this->parent_name==$this->name){
$this->addError('parent_name', '名称重复,父级名称不能和子级名称相同');
return;
}
}