Laravel方法使用已登录用户进行更新

时间:2016-07-08 12:20:09

标签: php laravel sql-update

我有方法存储:

public function store(CreateProductRequest $request){
    $product = new Product($request->all());
    Auth::user()->products()->save($product);
    Session::flash('status3', 'Produkt został dodany poprawnie');
    return redirect('warehouse');
}

在这个方法中,我使用Auth::user添加了向数据库添加新记录的用户的名称。 我想在方法更新中做同样的事情:

public function update($id, CreateProductRequest $request){
    $product = Product::find($id);
    $products = new Product($request->all());
    Auth::user()->products()->update($products);
    Session::flash('status4', 'Produkt został zaktualizowany poprawnie');
    return redirect('warehouse');
}
模型中的

和方法产品用户:

public function products(){
    return $this->hasMany('App\Product');
}

Laravel回来了:

  

类型错误:参数1传递给   Illuminate \ Database \ Eloquent \ Relations \ HasOneOrMany :: update()必须是   类型数组,给定对象,调用...

1 个答案:

答案 0 :(得分:0)

更改

Auth::user()->products()->update($products);

到这个

Auth::user()->products()->update([
    'article_id' => $request->get('article_id'),
    'category_id' => $request->get('category_id'),
    'quantity' => $request->get('quantity'),
    'warranty' => $request->get('warranty')
]);
相关问题