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.
|