2
Я новичок в Laraval 5 Я смотрю учебники «Основы Laravel 5», и у меня есть проблема.Обновление отношений модель laravel
Статья модель
public function category()
{
return $this->belongsTo('App\Category');
}
Категория модель
public function article()
{
return $this->hasMany('App\Article');
}
ArticleController
public function create()
{
$categories = Category::lists('name', 'id');
return view('admin.article.create', compact('categories'));
}
public function store(ArticleRequest $request)
{
$article = new Article($request->all());
$category = Category::find($request->input('categories'));
$article->category()->associate($category);
\Auth::user()->article()->save($article);
return \Redirect::to('/admin/article');
}
public function edit(Article $article)
{
$categories = Category::lists('name', 'id');
return view('admin.article.edit', compact('article', 'categories'));
}
public function update(Article $article, ArticleRequest $request)
{
$article->update($request->all());
return redirect('admin/article');
}
Как я могу обновить модель статьи и связанной с ними модели категории?
I поколения ошибка: Колонка не найдено: 1054 Неизвестный столбец '_method' в 'списке полей' (SQL: insert в 'articles' (' _method', '_token',' title', 'slug',' category_ значения id', 'body',' updated_at', 'created_at') (PATCH, ***, Первая статья, первая статья, 2, lorem ipsum 11, 2015-06-01 17:39:19, 2015-06 -01 17:39:19)) –
исключить _method или _token вот так: $ request-> except ('_ method', '_token'); Я написал foreach, ожидая, что $ request-> all() содержит все ваши столбцы таблицы. Просто возьмите из $ request нужные столбцы, и они должны иметь одно и то же имя. – brlebtag
@brlebtag Вы должны использовать метод 'fill()' для модели. Это учитывает любые «заполняемые» или «защищенные» ограничения для модели, а также автоматически игнорирует любые параметры, начинающиеся с подчеркивания (например, _token и _method). – patricus