我正在尝试使用空间/活动日志activity_log表的属性属性来获取基于任务模型的employee_id的员工姓名。
我的模型:
use LogsActivity;
protected $fillable = ['id','employee_id', 'name', 'description'......];
protected static $logAttributes = ['id','employee_id','name', 'description'......];
protected static $logFillable = true;
protected static $logUnguarded = true;我的控制器:
{
$activity = Activity::orderBy('id', 'DESC')->paginate(15);
return view('adminlte::home', ['activity' => $activity]);
}我的刀锋:
@foreach($activity as $act)
{{$act->changes['attributes']['employee_id']}}
@endforeach保存在属性字段中的记录:
{"attributes":{"id":170,"employee_id":"[\"1\",\"2\"]","name":"test","description":"test",......}}另外,在我的刀片中,结果是:
|employee_id | name | description| ...
|------------|------------|------------|--------
|["1","2"] | test | test | ....问题是,如何获取基于employee_id的名称字段。例如,在这种情况下,Jon,David(而不是他们的in (“1”,"2")。所以,我想要的是名字而不是ID。
提前谢谢你。
发布于 2019-03-28 21:45:23
我会从数据库中获取它们
1)创建ids列表并获取。
$employees = Employee::whereIn('id', $activity->pluck('employee_id')->flatten())
->get()
->mapWithKeys(function ($employee) {
return [$employee->id => $employee];
});2)发送到前端
return view('adminlte::home', ['activity' => $activity, 'employees' => $employees]);3)使用映射来显示名称
@foreach($activity as $act)
@foreach($act->changes['attributes']['employee_id'] as $employeeId)
{{ $employees[$employeeId] }},
@endforeach
@endforeachhttps://stackoverflow.com/questions/55398679
复制相似问题