角色和权限多对多查询出关联的问题?
角色模型:
Position.php
/**
* @return \Illuminate\Database\Eloquent\Relations\BelongsToMany
*/
public function permissions()
{
return $this->belongsToMany(Permission::class,'position_permission_ref','position_id','permission_id')->withTimestamps();
}
权限模型:
Permission.php
public function positions()
{
return $this->belongsToMany(Position::class,'position_permission_ref','permission_id','position_id')->withTimestamps();
}
我现在是获取所有的角色列表.需要查询出关联表的权限名称.
使用你说的方法
<?php
namespace App\Transformers;
use App\Models\Position;
use League\Fractal\TransformerAbstract;
class PositionTransformer extends TransformerAbstract {
protected $availableIncludes = ['permissions'];
public function transform(Position $position)
{
return [
'id' => $position->id,
'name' => $position->name,
'description' => $position->description,
'status' => $position->status,
'created_at' => $position->created_at->toDateTimeString(),
'updated_at' => $position->updated_at->toDateTimeString(),
];
}
public function includePermissions(Position $position)
{
return $this->item($position->permissions, new PermissionTransformer());
}
}
报错如下:
by JeffreyBool blog :point_right: link
推荐文章: