2017-06-20 1 views
0

私はデフォルトでcurrent_timestampを自動的に受け取るdate_createdのような "defaulted"フィールドを持つpostgresテーブルを持っています。F3 ORMいくつかのフィールドを省略した新しいレコードを追加する

またはデータベースで定義されたシーケンスからその値を取得するIDフィールド。

INSERT文を生成するときに、ORMモジュールにこれらの2つのフィールドが含まれないようにする構文は可能です(可能な場合)。

答えて

2

にフォームを結ぶルート:

$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'))); 
}); 
0

HTMLフォームを使用して新しいレコードをテーブルに追加すると仮定すると、次の手順に従います。フォームで

  1. 、これらの「債務不履行」フィールドを省略し、すなわちあなたが
  2. public function add() { 
        $this->copyFrom ('POST'); 
        $this->save(); 
    } 
    
  3. の下に作成するために、同様の機能を持つモデルを作成し提出したいフィールドだけを追加あなたがフィールドを削除するために第二のパラメータとして関数を使用することができます。この機能

+0

これらのフィールドを更新するために使用される/ので、削除フォームから除去することができません。しかし、私はあなたがどこから来ているのかを見ており、挿入の場合にPOST配列からそれらを削除できると思います。 – Didiergm

関連する問題