php - 如果数据库中存在值,请不要保存 Laravel
问题描述
我正在创建一个愿望清单,用户可以在其中保存自己的产品并保存它们。我想要的是用户不能多次保存产品。所以,我正在做的是,如果数据库中存在 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();
}
}
解决方案
那这个呢
public function addWishlist(Wishlist $wishlist) {
$userId = request('user_id');
$productId = request('product_id');
$found = Wishlist::where('user_id', $userId)->where('product_id', $productId)->count();
if($found == 0) {
$wishlist->user_id = $userId;
$wishlist->product_id = $productId;
$wishlist->save();
return redirect()->back();
}
}
推荐阅读
- r - 如何创建一个循环或函数来循环遍历包含变量的两个向量列表以对响应运行 KS 测试
- r - 如何在 R 中运行循环以进行后向消除以进行回归
- iis - 更改 IIS 8 中配置文件的路径
- c++ - const char* 到一个文件名字符串,以将 10 个不同的 .pgm 文件读入二维数组
- c# - 使用反射从“System.Int32”到枚举的无效转换
- influxdb - Telegraf logparser 给出错误。解析日志行错误:: 必须有一个或多个字段
- python-3.x - 如何为嵌套列表编写带有计数器的 for 循环?
- spring-boot - 在 Spring Boot OAuth2RestOperations 中刷新 OAuth 令牌
- laravel - 如何在 laravel 中设置最小的增量 id
- java - 未知原因:java.lang.ArrayIndexOutOfBoundsException: Index 0 out of bounds for length 0 from Command Line