ठीक है, मैं कोडिनेटर के जॉइन, सेट आदि का उपयोग करके एक "क्लीन" समाधान खोजने में कामयाब रहा। तो अच्छी बात यह है कि आपको $this->db->join(), $this->db- का उपयोग करने के सभी CI के लाभ प्राप्त होंगे।>शामिल हों (), आदि। जैसे बच निकलना और उद्धरण जोड़ना।
तो सबसे पहले अपने सभी CI सामान करें:
$this->db->join(..) // Set all your JOINs
$this->db->set(..) // Set your SET data
$this->db->where(..) // Set all your WHEREs
फिर आप सक्रिय रिकॉर्ड के तैयार, साफ और बच गए क्वेरी तत्वों का उपयोग करके क्वेरी बना सकते हैं:
// JOIN
$sql = "UPDATE $this->baseTable ";
$sql .= implode(' ', $this->db->ar_join);
// SET
$sql .= ' SET';
$setArray = array();
foreach ($this->db->ar_set as $column=>$newValue)
array_push($setArray, " $column = $newValue");
$sql .= implode(',', $setArray);
// WHERE
$sql .= ' WHERE '.implode(' ', $this->db->ar_where);
$this->db->query($sql);
अगर किसी के पास बेहतर समाधान है, तो मैं इसे सहर्ष स्वीकार करूंगा और इसके बजाय इसका उपयोग करूंगा