问题描述
我有一个表权限,它具有权限名称、类型、实体,我喜欢在创建角色时在表中显示它
$types=Permission::select('type')->groupBy('type')->get();
$entities=Permission::select('entity')->groupBy('entity')->get();
$permission=Permission::select('id','name')->get();
现在如果Type=Admin如何显示下面的,只显示下面的Entity和权限。 这是权限模型
class Permission extends Model
{
use HasFactory,Uuids;
protected $fillable = ['id','name','type','entity'];
public function roles()
{
return $this->belongsToMany(Role::class,'permission_role');
}
}
谢谢
解决方法
你需要relationships。
您的模型:
class Type extends Model
{
public function entities()
{
return $this->hasMany(Entity::class);
}
}
class Entity extends Model
{
public function permissions()
{
return $this->hasMany(Permission::class);
}
}
您的刀片视图:
<table>
@foreach($types as $type)
<tr>
<th colspan="6">{{ $type->type }}</th>
</tr>
@foreach($type->entities as $entity)
<tr>
<th>{{ $entity->entity }}</th>
@foreach($entity->permissions as $permission)
<td>{{ $permission->name }}</td>
@endforeach
</tr>
@endforeach
@endforeach
</table>