Параметр доступа дает мне значение null в Laravel 5.3

Я работаю над отношениями «один ко многим» между задачами и проектами, т.е. задача может принадлежать только одному проекту, и я использовал 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'));

Но я выбираю всех пользователей, в то время как я хочу, чтобы в раскрывающемся списке был только выбранный пользователь.

Может ли кто-нибудь направить меня на правильный путь.

Спасибо


person Kashif Ullah    schedule 10.09.2016    source источник


Ответы (1)


наконец, я решил проблему самостоятельно. Я отредактировал Accessor следующим образом:

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

Поскольку мне требовался массив, поэтому я присвоил текущему пользователю индекс массива 0 и вернул его, в этом случае представление выбрало возвращаемого пользователя в раскрывающемся списке :)

Это может помочь кому-то :)

person Kashif Ullah    schedule 10.09.2016