在方案中添加多属性。 Yii用户

时间:2019-04-29 23:31:09

标签: yii2 yii2-basic-app

我想在方案中添加多属性。它是user_lastname,user_status。 它会覆盖用户模型

public function scenarios()
{
    $scenarios = parent::scenarios();

    $scenarios['create'][]   = 'user_name'; 
    $scenarios['update'][]   = 'user_name'; 
    $scenarios['register'][] = 'user_name'; ;
    return $scenarios;
}

我采样了,但是发现了从数组到字符串转换的问题

public function scenarios()
{
    $scenarios = parent::scenarios();
    // add field to scenarios
    $scenarios['create'][]   = ['user_name','user_lastname','user_status']; 
    $scenarios['update'][]   = ['user_name','user_lastname','user_status']; 
    $scenarios['register'][] = ['user_name','user_lastname','user_status']; 
    return $scenarios;
}

2 个答案:

答案 0 :(得分:0)

从方案列表中删除数组[]

public function scenarios()
{
   $scenarios = parent::scenarios();

   // add field to scenarios
   $scenarios['create']   = ['user_name','user_lastname','user_status']; 
   $scenarios['update']   = ['user_name','user_lastname','user_status']; 
   $scenarios['register'] = ['user_name','user_lastname','user_status']; 

   return $scenarios;
}

使用 const 声明方案名称。例如const SCENARIO_CREATE = 'create';

答案 1 :(得分:0)

如果要将元素添加到现有数组,则需要分别添加每个项目:

public function scenarios()
{
    $scenarios = parent::scenarios();

    $scenarios['create'][] = 'user_name'; 
    $scenarios['update'][] = 'user_name'; 
    $scenarios['register'][] = 'user_name';

    $scenarios['create'][] = 'user_lastname'; 
    $scenarios['update'][] = 'user_lastname'; 
    $scenarios['register'][] = 'user_lastname';

    $scenarios['create'][] = 'user_status'; 
    $scenarios['update'][] = 'user_status'; 
    $scenarios['register'][] = 'user_status';

    return $scenarios;
}

$scenarios['create'][] = ['user_name','user_lastname','user_status'];只会添加一项作为数组。