44 lines
1.7 KiB
Plaintext
44 lines
1.7 KiB
Plaintext
Doctrine_Record::hasColumn() takes 4 arguments:
|
|
|
|
# **column name**
|
|
# **column type**
|
|
# **column length**
|
|
# **column constraints and validators**
|
|
|
|
<code type="php">
|
|
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>
|
|
|
|
Note that validators / column constraints and the column length fields are optional. The length may be omitted by using **null** for the length argument, allowing doctrine to use a default length and permitting a fourth argument for validation or column constraints.
|