Как мне привязать объект модели при использовании контроллера ресурсов в Laravel 5.1

#php #eloquent #laravel-5.1

#php #красноречивый #laravel-5.1

Вопрос:

Я ищу что-то вроде этого

 public function store(Help $help)
{
    $help->save();

    return response
}
  

Я добавил, что класс модели Routes.php файл, подобный этому

 Route::model('help', 'AppHelp');
Route::resource('api/help', 'HelpController');
  

И это мой Help.php файл

 class Help extends Model
{
    use SoftDeletes;

    protected $primaryKey = 'id';

    protected $table = 'help';

    protected $dates = ['deleted_at'];

    /**
     * The attributes that are mass assignable.
     *
     * @var array
     */
    protected $fillable = array('name','description','deleted_at','created_at', 'updated_at');

}
  

Привязка происходит до некоторой степени, т.Е. В таблице есть новая строка, но атрибуты «имя» и «описание» пусты.

Комментарии:

1. Вы их не устанавливаете? $help->name = 'XXX'; и т. д

2. Нужно ли мне это? Это то, чего я пытаюсь достичь. Я хочу, чтобы они были сопоставлены без их явной настройки. Возможно ли это?

3. КАК приложение должно знать, каковы значения, если вы их не устанавливаете ….. ?

Ответ №1:

Я думаю, вы неправильно поняли концепцию привязки модели маршрута…

Я думаю, что вы действительно хотите что-то вроде этого:

 public function store(IlluminateHttpRequest $request)
{
    $help = new Help($request->all());
    $help->save();

    return back()->with('success', true);
}
  

Привязка модели маршрута, скорее всего, будет использоваться, например, в методе обновления, поскольку у вас есть существующий экземпляр вашей модели, с которым вы можете работать.

Например:

 public function update(IlluminateHttpRequest $request , Help $help) {
    // help exists and the correct model instance is automatically resolved through route model binding...
    $help->fill( $request->all() );
    $help->save();

    return redirect()->back()->with( 'updated', true );
}
  

Вы можете выполнить команду

 php artisan route:list
  

Чтобы проверить, где можно использовать привязку модели маршрута. Переменные, которые вы видите в {}
например, {справка}

Комментарии:

1. Спасибо. Я предположил, что если мой запрос JSON был чем-то вроде {«name»:»Help name», «description»:»Help description»} , он мог бы автоматически сопоставлять атрибуты.