1: <?php
2:
3: namespace Thelia\Model\map;
4:
5: use \RelationMap;
6: use \TableMap;
7:
8:
9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20:
21: class DocumentTableMap extends TableMap
22: {
23:
24: 25: 26:
27: const CLASS_NAME = 'Thelia.Model.map.DocumentTableMap';
28:
29: 30: 31: 32: 33: 34: 35:
36: public function initialize()
37: {
38:
39: $this->setName('document');
40: $this->setPhpName('Document');
41: $this->setClassname('Thelia\\Model\\Document');
42: $this->setPackage('Thelia.Model');
43: $this->setUseIdGenerator(true);
44:
45: $this->addPrimaryKey('id', 'Id', 'INTEGER', true, null, null);
46: $this->addForeignKey('product_id', 'ProductId', 'INTEGER', 'product', 'id', false, null, null);
47: $this->addForeignKey('category_id', 'CategoryId', 'INTEGER', 'category', 'id', false, null, null);
48: $this->addForeignKey('folder_id', 'FolderId', 'INTEGER', 'folder', 'id', false, null, null);
49: $this->addForeignKey('content_id', 'ContentId', 'INTEGER', 'content', 'id', false, null, null);
50: $this->addColumn('file', 'File', 'VARCHAR', true, 255, null);
51: $this->addColumn('position', 'Position', 'INTEGER', false, null, null);
52: $this->addColumn('created_at', 'CreatedAt', 'TIMESTAMP', false, null, null);
53: $this->addColumn('updated_at', 'UpdatedAt', 'TIMESTAMP', false, null, null);
54:
55: }
56:
57: 58: 59:
60: public function buildRelations()
61: {
62: $this->addRelation('Product', 'Thelia\\Model\\Product', RelationMap::MANY_TO_ONE, array('product_id' => 'id', ), 'CASCADE', 'RESTRICT');
63: $this->addRelation('Category', 'Thelia\\Model\\Category', RelationMap::MANY_TO_ONE, array('category_id' => 'id', ), 'CASCADE', 'RESTRICT');
64: $this->addRelation('Content', 'Thelia\\Model\\Content', RelationMap::MANY_TO_ONE, array('content_id' => 'id', ), 'CASCADE', 'RESTRICT');
65: $this->addRelation('Folder', 'Thelia\\Model\\Folder', RelationMap::MANY_TO_ONE, array('folder_id' => 'id', ), 'CASCADE', 'RESTRICT');
66: $this->addRelation('DocumentI18n', 'Thelia\\Model\\DocumentI18n', RelationMap::ONE_TO_MANY, array('id' => 'id', ), 'CASCADE', null, 'DocumentI18ns');
67: }
68:
69: 70: 71: 72: 73: 74:
75: public function getBehaviors()
76: {
77: return array(
78: 'timestampable' => array (
79: 'create_column' => 'created_at',
80: 'update_column' => 'updated_at',
81: 'disable_updated_at' => 'false',
82: ),
83: 'i18n' => array (
84: 'i18n_table' => '%TABLE%_i18n',
85: 'i18n_phpname' => '%PHPNAME%I18n',
86: 'i18n_columns' => 'title, description, chapo, postscriptum',
87: 'i18n_pk_name' => NULL,
88: 'locale_column' => 'locale',
89: 'default_locale' => NULL,
90: 'locale_alias' => '',
91: ),
92: );
93: }
94:
95: }
96: