在我的应用程序中,每个用户都可以喜欢每个评论。但是每个用户都以逗号分隔的形式输入。每个用户的用户ID就像输入数据库一样2,4,5..etc.I在我的模型中使用concat像这样
public function shop_like($shop_id,$user_id,$logged_id)
{
$this->db->where('user_id',$user_id);
$this->db->where('shop_id', $shop_id);
$this->db->set('review_like', 'review_like+1', FALSE);
$where = "CONCAT('like_user_id', ',','".$logged_id."')";
// $where = CONCAT(like_user_id,'".$logged_id."');
$this->db->set('like_user_id', $where);
$this->db->set('review_like', 'review_like+1', FALSE);
$this->db->update('shop_reviews',$data);
}
每个喜欢,like_user_id字段包含插入的值,如此CONCAT(like_user_id,',',' 7')这是问题
我想要现有的逗号分隔值和喜欢用户的用户ID
plzz更正了concat的语法
答案 0 :(得分:2)
如果要更新列,请使用set()
而不是where子句:
$this->db->set("like_user_id", "CONCAT( like_user_id, ',".$logged_id."' )", false);
答案 1 :(得分:0)
使用以下代码
public function shop_like($shop_id,$user_id,$logged_id)
{
$this->db->where('user_id',$user_id);
$this->db->where('shop_id', $shop_id);
$this->db->set('review_like', 'review_like+1', FALSE);
$where = "CONCAT(like_user_id, ',','".$logged_id."')";
$this->db->set('like_user_id', $where, false);
$this->db->set('review_like', 'review_like+1', FALSE);
$this->db->update('shop_reviews',$data);
}