为laravel创建一个数组变量

时间:2018-05-10 01:49:38

标签: php laravel laravel-5 laravel-5.3

我想在php中为变量$ user_role-> role_id创建一个值。是否可以创建一个变量为$ user_role-> role_id,可以在php中解析 我试过了

$user_role=array(); 
$user_role->role_id='1';

中出错
print_r($user_role->role_id);

错误我

  

尝试分配非对象的属性

3 个答案:

答案 0 :(得分:2)

您正在尝试将对象属性分配给数组。如果您有Laravel模型,则需要在第一行调用它而不是创建空白数组。例如。 $user_role = new App\Role如果您想填充数组,那么您只需执行$user_role['role_id'] = 1;

答案 1 :(得分:0)

您是否正在使用任何用户角色包来管理它或只是自己尝试?

如果有任何包,请检查有关如何初始化角色分配代码的文档。

我们仍然看到,你正在尝试执行Eloquent操作并希望放置role_id,所以如果它是一个有一个角色的用户,可能这就是你的代码

$user = new App\User; // You could also initialize by fetching the record
$user->role_id = 1; // Assigning role_id as `1`
$user->save();

答案 2 :(得分:0)

您正在创建数组变量并按对象获取。这就是出现这个错误的原因。

$user_role          = array();
$user_role['role_id'] = '1';

//print value
echo  $user_role['role_id'];