0

このプロパティを使用して永続コンポーネントを設定します。

<cfproperty name="active" ormType="timestamp" notnull="true" dbDefault="now()" />

ここで、値を指定せずにエンティティを保存するcreated_atと、エラーが発生します: not-null property references a null or transient value: User.active.

エンティティの作成時にすべての列の指定をスキップするにはどうすればよいですか?

ありがとう!

4

1 に答える 1

0

データベース スキーマにデフォルトを設定するのではなく、default属性を使用してエンティティのプロパティにデフォルトを定義し、null 値を回避します。

ただし、デフォルトとして定義できるのは、単純で非動的な値 (固定文字列や数値など) のみであることに注意してください。配列などの複雑な値や、 などの動的な値を定義する必要がある場合は、エンティティのメソッドNow()でそれらを設定する必要があります。init()

component name="user" accessors=true persistent=true{

 property name="active" ormtype="boolean" default=false;
 property name="created_at" ormtype="timestamp";

 function init(){
  variables.created_at=Now();
  return this;
 }

}
于 2015-12-28T20:02:42.330 に答える