在我的应用中,我根据查看产品,添加到购物车,订单和类别查看来节省客户兴趣。
现在这是我的customerInterestController
$customerInterest = [
'user_id' => Auth::user()->id,
'interest' => $category_id,
];
$data = [
'cart_interest' => ($column == 'cart') ? 1 : 0,
'order_interest' => ($column == 'order') ? 1 : 0,
'category_interest' => ($column == 'category') ? 1 : 0,
'view_interest' => ($column == 'view') ? 1 : 0,
];
try{
(new CustomerInterest)->insertCustomerInterest($customerInterest, $data);
}catch(Exception $e){
dd($e);
}
这是我的customerInterest模型
public function insertCustomerInterest($customerInterest = [], $data = []){
return $this->updateOrCreate($customerInterest, $data);
}
插入数据库没有问题。它有效。
My Table
id
user_id
interest
cart_interest
order_interest
category_interest
view_interest
user_id 和兴趣列是复合 唯一索引。
如果user_id,感兴趣列存在
我想更新数据
如果不是我想插入数据。
我使用 updateOrCreate 方法,但无法增加 $ data 数组中的值。
我该怎么做?
答案 0 :(得分:1)
我解决了我的问题。
我删除了 $ data 数组
这是我的插入或更新代码
(new customerInterestController)->insertCustomerInterest('category', $category->id);
这是我的模特
public function insertCustomerInterest($customerInterest = [], $column){
return $this->updateOrCreate($customerInterest)->increment($column.'_interest');
}