我在codeigniter中有更新查询问题。
$arrPartnerId = $partnerData['partner_id'];
print_r($partnerData['partner_id']);
if(is_array($arrPartnerId) > 0 ){
foreach( $arrPartnerId as $partnerId){
$this->db->set('partner_id', $partnerId );
$this->db->where('promotion_id', $promotionData['promotion_id'] );
$this->db->update('partner_promotion_relation');
}
}
我的数据是$ aaPartnerId =([0] => 4,[1] => 5)我有一个id然后如何在数据库中更新。
答案 0 :(得分:0)
我认为你混淆了一个地方和设定条件,你应该更喜欢这个:
$this->db->set('promotion_id', $promotionData['promotion_id']);
$this->db->where('partner_id', $partnerId);
$this->db->update('partner_promotion_relation');
这只是一个假设,因为在你的情况下,你在表中保持更新2次相同的行,这是不合逻辑的。
答案 1 :(得分:0)
如果您的数组是这样的,
$arrPartnerId = array(
0 => 4,
1 => 5
);
和
$promotionData['promotion_id'] = 123; //assumption
然后试试这个,
if(sizeof($arrPartnerId) > 0 )
{
foreach( $arrPartnerId as $partnerId)
{
$this->db->set('partner_id', $partnerId );
$this->db->where('promotion_id', $promotionData['promotion_id'] );
$this->db->update('partner_promotion_relation');
}
}
它将解决问题。