【发布时间】:2018-06-19 15:25:19
【问题描述】:
我正在创建一个愿望清单,用户可以在其中保存自己的产品并保存它们。我想要的是用户不能多次保存产品。 所以,我正在做的是,如果数据库中存在 product_id,我不想保存新记录。
这是我的代码,我做错了什么?
public function addWishlist(Wishlist $wishlist) {
$wishlist->user_id = request('user_id');
$wishlist->product_id = request('product_id');
if(DB::table('wishlists')->where('product_id' !== $wishlist->product_id)) {
$wishlist->save();
return redirect()->back();
}
}
【问题讨论】:
-
updateOrCreate已经有了一个雄辩的功能。 laravel.com/docs/5.6/eloquent -
使用 firstOrCreate 然后检查 wasRecentlyCreated stackoverflow.com/questions/18498518/…
-
where('product_id' !== $wishlist->product_id)-- 你对这个条件有什么期望?它将选择wishlists中的所有项目,条件为true
标签: php laravel laravel-5.5