【问题标题】:Laravel Problem Call to undefined method App\Models\User::getRoleNames()Laravel 问题调用未定义的方法 App\Models\User::getRoleNames()
【发布时间】:2022-01-26 20:54:07
【问题描述】:

@extends('layouts.app')

@section('内容')

<div class="col-lg-12 margin-tb">

    <div class="pull-left">

        <h2>Users Management</h2>

    </div>

    <div class="pull-right">

        <a class="btn btn-success" href="{{ route('users.create') }}"> Create New User</a>

    </div>

</div>

@if ($message = Session::get('success'))

{{ $message }}

@endif

不 姓名 电子邮件 角色 行动

@foreach ($data as $key => $user)

<td>{{ ++$i }}</td>

<td>{{ $user->name }}</td>

<td>{{ $user->email }}</td>

<td>

  @if(!empty($user->getRoleNames()))

    @foreach($user->getRoleNames() as $v)

       <label class="badge badge-success">{{ $v }}</label>

    @endforeach

  @endif

</td>

<td>

   <a class="btn btn-info" href="{{ route('users.show',$user->id) }}">Show</a>

   <a class="btn btn-primary" href="{{ route('users.edit',$user->id) }}">Edit</a>

    {!! Form::open(['method' => 'DELETE','route' => ['users.destroy', $user->id],'style'=>'display:inline']) !!}

        {!! Form::submit('Delete', ['class' => 'btn btn-danger']) !!}

    {!! Form::close() !!}

</td>

@endforeach

{!! $data->render() !!}

ItSolutionStuff.com 的教程

@endsection

【问题讨论】:

  • 为了更好地理解,请分享控制器和模型。在循环时,您正在调用“getRoleNames()”方法。在模型中必须有方法名称“getRoleNames()”并尝试调用:$user->getRoleNames
  • 如果你使用 spatie/laravel-permission 包,你需要在用户模型中包含 use HasRoles
  • 请澄清您的具体问题或提供其他详细信息以准确突出您的需求。正如目前所写的那样,很难准确地说出你在问什么。

标签: laravel


【解决方案1】:

我同意 Gary,如果您使用 Spatie,请将下一个代码添加到 User.php

使用 Spatie\Permission\Traits\HasRoles;

类用户扩展可验证 { 使用 HasApiTokens、HasFactory、Notifiable、HasRoles

【讨论】:

  • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
【解决方案2】:

请将此方法添加到User.php模型文件中

public function getRoleNames()
    {
        return $this->belongsToMany(Role::class);

    }

如果此方法不起作用,请分享表结构和用户模型文件代码。

【讨论】:

    猜你喜欢
    • 2022-12-09
    • 2021-06-21
    • 2023-02-06
    • 2021-03-19
    • 2021-06-24
    • 1970-01-01
    • 2021-11-12
    • 1970-01-01
    • 2020-01-18
    相关资源
    最近更新 更多