我正在编写一个 Codeigniter 脚本,其中使用 foreach 插入了多行。我想获取所有最后插入的 id。
这是我的代码:
public function savePickupDataModal($dates, $pickData) {
foreach ($dates['dates'] as $date) {
$sql = 'INSERT INTO pickupManagement (dates, readyhour, readymint, readyformat, latesthour, latestmint, latestformat, approxVal, otherComment) ' .
'VALUES("' . $date . '","' . $pickData['readyhour'] . '","' . $pickData['readymint'] . '","' . $pickData['readyformat'] . '","' . $pickData['latesthour'] . '","' . $pickData['latestmint'] . '","' . $pickData['latestformat'] . '","' . $pickData['approxVal'] . '","' . $pickData['otherComment'] . '")';
$query = $this->db->query($sql);
if ($this->db->affected_rows() > 0) {
return true;
} else {
return false;
}
}
}
这里的日期数组包含任意数量的日期,例如 3、4 或 5,因此将执行插入查询,直到数组包含日期数量。
如何获取所有最后插入的记录 ID?
最佳答案
在您的情况下,您实际上正在执行多个独立查询,因此您可以获取最后一个 id 并将其一遍又一遍地插入数组中。
$affected_ids = array();
foreach(....
$query = .....
if($this->db->affected_rows() > 0)
$affected_ids[] = $this->db->insert_id();
}
echo '<pre>', print_r($affected_ids),'</pre>';
这里似乎没有必要实际返回 true 或 false。
关于php - 如何在codeigniter中获取多个插入的id,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33788704/