Accessor参数在Laravel 5.3中为null

时间:2016-09-10 14:49:29

标签: laravel-5 relationship mutators laravelcollective

我正在处理任务和项目之间的一对多关系,即任务只能属于一个项目,我使用laravel的Accessor在我的视图中下拉所选项目:

我的代码如下:

public function getAssignUserAttribute($value)
{
   dd($value); // gives me null
    // if $value have id of user I want to get that user from db
}

我的观点包含下拉列表:

{!! Form::select('assign_user', $assign_user, null, ['class' => 'form-control select2', 'id' => 'assign_user']) !!}

我已经将所有用户从数据库访问到TasksController到视图:

$assign_user = User::pluck('title', 'id');
return view('tasks.edit', compact('task', 'assign_user'));

但是我选择了所有用户,而我只希望在我的下拉列表中选择所选用户。

有人可以引导我走上正确的道路。

谢谢

1 个答案:

答案 0 :(得分:0)

最后我自己解决了这个问题,我编辑了Accessor如下:

public function getAssignUserAttribute()
{
    return [0 => $this->attributes['assign_user'] ];        
}

由于我需要一个数组,所以我将当前用户分配给数组索引0并返回,在这种情况下,视图在下拉列表中选择了返回的用户:)

这可能有助于某人:)