簡體   English   中英

Laravel 權限獲取用戶角色為 object 而不是數組

[英]Laravel permission get user roles as object instead of array

目前使用 spatie/laravel-permission package 來管理用戶角色:一個用戶可以有一個角色。

return $this->userModel
    ->select('id', 'first_name', 'last_name', 'email', 'slug')
    ->with(['roles' => function ($query) {
        $query->select('name', 'guard_name');
    }])
    ->find($id);

但是,當我運行以下查詢時,它會返回一個角色數組。

"roles": [
    {
        "name": "personal_trainer",
        "pivot": {
            "model_id": "9e8fb1a1-e725-4b48-befa-d9c4783c9eda",
            "role_id": 2,
            "model_type": "App\\Models\\User\\User"
        }
    }
],

如何使“角色”鍵返回單個 object 而不是數組? 我想避免在查詢后對其進行操作。

請嘗試

return $this->userModel
    ->select('id', 'first_name', 'last_name', 'email', 'slug')
    ->with(['roles' => function ($query) {
        $query->select('name', 'guard_name');
    }])
    ->first();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM