在循環
$query = $this->db->query("YOUR QUERY");
$rows = $query->result();
foreach ($rows as $key => $row)
{
if($row->parent_id == 1){
unset($rows[$key]);
// code here to delete current record
}
}
print_r($rows) // remove row with parent_id = 1
查看更多@Removing an item from object in a loop
你也可以改變你的SELECT語句來獲得所有記錄對象中的項目,其中PARENT_ID不均衡1(或其他「其中'過濾行的邏輯...查看示例和鏈接如下)
$this->db->get('mytable')
$this->db->where('parent_id !=', 1);
或
//get all except parent id 1,4 or 7
$parent_ids = array(1, 4, 7);
$this->db->where_not_in('parent_id', $parent_ids);
從數據庫中刪除記錄爲您剛纔的問題標題建議(刪除當前記錄CI中的foreach)
爲此,您可以使用SQL查詢,而無需使用任何PHP邏輯通過寫的條件在SQL ...多見於http://codeigniter.com/user_guide/database/active_record.html
例如
//delete record where parent_id = 1
$this->db->delete('mytable', array('parent_id' => 1));
或
//delete record where parent_id = 1 or 5 or 8
$names = array(1, 5, 8);
$this->db->where_in('parent_id', $names);
$this->db->delete('mytable');
或
//delete record where parent_id = 1
$this->db->where('parent_id', 1);
$this->db->delete('mytable');
或
//delete all record where parent_id not eq 1
$this->db->where('parent_id !=', 1);
//delete all record where parent_id less than 10
$this->db->where('parent_id <', 10);
我不想刪除表中的數據,但記錄在php codeigniter代碼中的$ query中 –
@ KH-DP我剛剛更新了我的代碼,您正嘗試「從循環中的對象中刪除項目」.. 。請參閱http://stackoverflow.com/questions/7843157/removing-an-item-from-object-in-a-loop –
它仍然無法刪除。如果在普通代碼中可能工作,但它在CodeIgniter中 –