2007-06-13 02:18:21 +04:00
Doctrine_Record::hasColumn() takes 4 arguments:
# **column name**
# **column type**
# **column length**
# **column constraints and validators**
2007-07-20 12:03:04 +04:00
<code type="php">
2007-06-13 02:18:21 +04:00
class Email extends Doctrine_Record {
public function setTableDefinition() {
// setting custom table name:
$this->setTableName('emails');
$this->hasColumn('address', // name of the column
'string', // column type
'200', // column length
array('notblank' => true,
'email' => true // validators / constraints
)
);
$this->hasColumn('address2', // name of the column
'string', // column type
'200', // column length
// validators / constraints without arguments can be
// specified also as as string with | separator
'notblank|email'
);
// Doctrine even supports the following format for
// validators / constraints which have no arguments:
$this->hasColumn('address3', // name of the column
'string', // column type
'200', // column length
array('notblank', 'email')
);
}
}
</code>
2007-07-25 00:26:22 +04:00
Note that validators / column constraints and the column length fields are optional. The length may be omitted by using **null** for the length arguement, allowing doctrine to use a default length and permitting a fourth arguement for validation or column constraints.