将数据从列添加到另一个表的Laravel 5.2列

时间:2017-01-13 08:51:24

标签: php mysql laravel laravel-5 relational-database

所以,我想将一些产品存储到product表中。我做到了。但是现在我想为每个产品添加user id,因此它可以对应不同的用户。

至于现在,我已尝试过这个,但它似乎不起作用:

public function store(){
    $product = Request::all();
    $product = Product::create($product);
    $user = User::whereId(Request::input('user'))->first();
    $product->users()->attach($user);
    return redirect()->route('products');
}

usersproducts之间的关系是这样的:user_id表中的products列是foreign key,并且对id的引用users

1 个答案:

答案 0 :(得分:1)

您可以使用关联方法将相关对象保存为:

假设User模型中的关系名称为products

public function store() {
  $product_array = Request::all();

  $product = Auth::user()->products()->create($product_array);

  return redirect()->route('products');
}

此处,create方法会自动将相应的user_id值添加到新的Product模型中。