我有一個postgres表,其中有一些「默認」字段,如date_created,它會自動接收current_timestamp作爲默認值。F3 ORM添加新記錄省略一些字段
或從數據庫中定義的序列獲取其值的ID字段。
什麼是(如果可能的話)告訴ORM模塊在生成INSERT語句時不包含這兩個字段的語法?
我有一個postgres表,其中有一些「默認」字段,如date_created,它會自動接收current_timestamp作爲默認值。F3 ORM添加新記錄省略一些字段
或從數據庫中定義的序列獲取其值的ID字段。
什麼是(如果可能的話)告訴ORM模塊在生成INSERT語句時不包含這兩個字段的語法?
您可以使用函數作爲第二個參數來刪除字段:
$this->copyfrom('POST',function($val) {
unset($val['ID']);
unset($val['date_created']);
return $val
});
或從POST陣列只複製允許字段:
$this->copyfrom('POST',function($val) {
return array_intersect_key($val, array_flip(array('name','age')));
});
假設您使用HTML表單向表中添加新記錄,請按照以下步驟操作;
創建一個功能類似於下面
public function add() {
$this->copyFrom ('POST');
$this->save();
}
創建一個模型的字段將表單鏈接到此功能的路徑
這些字段被用於更新/刪除,從而不能從表格中刪除;但是我看到你來自哪裏,我想我可以在插入的情況下從POST數組中刪除它們。 – Didiergm