我是Laravel 5的新手。我看了教程"Laravel 5基础",我有一个问题。
<<p> 文章模型/strong>public function category()
{
return $this->belongsTo('App'Category');
}
<<p> 类别模型/strong> 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');
}
如何更新文章模型和相关的类别模型?
你可以这样更新:(原始来源:http://laravel.com/docs/5.0/eloquent#insert-update-delete)
public function update(Article $article, ArticleRequest $request)
{
$newValues = $request->except('_method', '_token');
foreach($newValues as $key => $value)
{
$article[$key] = $value;
}
$article->save();
return redirect('admin/article');
}
或
public function update(Article $article, ArticleRequest $request)
{
$article->title = $request->input('title');
//all article's table columns = $request->input('corresponding_input_name')
$article->save();
return redirect('admin/article');
}
@patricus:
public function update(Article $article, ArticleRequest $request)
{
$article->fill($request->all());
$article->save();
return redirect('admin/article');
}