我有下面提到的3个表。
表1(用户(:
|id |name |keterangan |role_id |provinsi_id |
表2(角色(:
|id |name |description |
表3(provinsis(
|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
{
//
}
provinsi型
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刀片
@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","description":null,"created_at":null,"updated_at":null} </td>
注意:json已经返回了corecct角色和provinsi,但我想要的结果只是
<td>admin</td>
<td>gorontalo</td>
我尝试过php-artisttick,每当我调用它时,它都会返回ChangeAgent/Gorontalo$user->provinsi->名称
谢谢
您需要将关系附加到控制器中的模型。
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>
你发现了吗?