这可能是一个非常简单的问题,但我是新的laravel开发人员。在我的数组结果中,我得到[“ type”]。如何删除[]
和""
,以便在回复中仅输入“ type”。
用户
public function role()
{
return $this->belongsTo('App\Role');
}
控制器
return Auth::user()->roles->pluck('name');
答案 0 :(得分:1)
pluck()
返回一个数组。
这就是为什么它返回类似['type']
因此,如果您确定只有一个元素。致电first()
return Auth::user()->roles->pluck('name')->first();
但是如果roles
返回多个元素,则必须根据情况进行处理。
但是它是一个数组
答案 1 :(得分:0)
要删除开头和结尾的方括号和引号,请尝试以下
$user = Auth::user()->roles->pluck('name');
$user = join(",", $user);
$unquoted = preg_replace('/^(\'(.*)\'|"(.*)")$/', '$2$3', $user);
答案 2 :(得分:0)
您可以执行以下操作:
$authtoken = User::where('customers_id', $id)->pluck('auth_token')->last();
答案 3 :(得分:0)
[n, n]
获取跨多行的列值数组。如函数名所示,如果有多个角色 s ,则此功能很有用。
但是,如果用户仅具有一个角色,则可以使用pluck
函数,该函数将返回 first (并且希望是)行的列的值:< / p>
value
答案 4 :(得分:-1)
您可以简单地做到这一点
return Auth::user()->roles->pluck('name')->toArray;