如何解决Laravel Blade 中的调用关系
我有下面提到的 3 个表。
表 1(用户):
|id |name |keterangan |role_id |provinsi_id |
表 2(角色):
|id |name |description |
表 3(省)
|id |name |description |
用户模型:
class User extends Authenticatable
{
public function role()
{
return $this->belongsTo(Role::class);
}
public function provinsi()
{
return $this->belongsTo(Provinsi::class);
}
}
榜样:
class Role extends Model
{
//
}
省模式
class Provinsi extends Model
{
}
用户控制器
class UserController extends Controller{
public function index()
{
//$users = User::latest()->paginate(5);
$users = User::with(['role','provinsi'])->latest()->paginate(5);
return view('users.index',compact('users'))
->with('i',(request()->input('page',1) - 1) * 5);
}
}
index.blade
@foreach ($users as $user)
<tr>
<td>{{ $user->nama }}</td>
<td>{{ $user->email }}</td>
<td>{{ $user->nip_lama }}</td>
<td>{{ $user->role->name}}</td>
<td>{{ $user->provinsi->name}}</td
</tr>
@endforeach
如何在 index.blade 中获取角色名称和 provinsi 名称,因为该代码将导致 像这样在表格 html 中:
<td>{"id":4,"name":"Change Agent","description":null,"created_at":null,"updated_at":null}</td>
还有这个
<td>{"id":2,"name":"Gorontalo","updated_at":null} </td>
注意:那个 json 已经返回了 corecct 角色和 provinsi 但我想要的结果只是
<td>admin</td>
<td>gorontalo</td>
我尝试过 PHP artisan tinker,每当我打电话时它都会返回 Change Agent/Gorontalo $user->provinsi->name
谢谢
解决方法
您需要将关系附加到控制器中的模型。
class UserController extends Controller{
public function index()
{
//
$users = User::with(['role','provinsi')->latest()->paginate(5);
return view('users.index',compact('users'))
->with('i',(request()->input('page',1) - 1) * 5);
}
}
,
在上面的代码中,您缺少一些大括号。
<td>{{ $user->provinsi->name</td>
应该
<td>{{ $user->role->name}}</td>
<td>{{ $user->provinsi->name}}</td>
你找到了吗?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。