是有這樣的說法,我想通過活動記錄方式笨笨ActiveRecord的where語句問題
DELETE FROM TABLE
(col1 = value AND col2 = value2) OR (col1 = value2 AND col2 = value);
是有這樣的說法,我想通過活動記錄方式笨笨ActiveRecord的where語句問題
DELETE FROM TABLE
(col1 = value AND col2 = value2) OR (col1 = value2 AND col2 = value);
這不是活動記錄的目標做出來。如名稱所示,活動記錄對象實例綁定到表中的單個行。如果你想以「主動記錄」的方式來完成這個工作,你必須檢索你必須刪除數據庫的所有記錄,將它們標記爲已刪除,並且提交更改將會過度。你可以做的最好的辦法是從codeign中獲取連接實例並手動執行查詢。
笨活動記錄是不切實際的混合和的和OR的查詢中。
您可能需要手動構建一些查詢,例如沿着線的東西:
$this->db->where("col1 = $value AND col2 = $value2");
$this->db->or_where("col1 = $value2 AND col2 = $value");
或者,在你的例子,其中只有兩個特定的列和兩個值,下面的想法應該也行:
$this->db->where_in('col1', array($value, $value2));
$this->db->where_in('col2', array($value, $value2));
$this->db->where('col1 != col2');
這是你最好的選擇,就像第二個想法非常好。 – Louis
假。您可以使用活動記錄刪除多行。 – Catfish
您可以使用「當前」實現刪除多條記錄,但活動記錄不是爲此設計的。仍然最好的解決方案是不使用活動記錄。 – Ivan
但是活動記錄允許您選擇多於一行。你認爲這不是它應該如何? – Catfish