-
-
Notifications
You must be signed in to change notification settings - Fork 28
/
Copy pathmodel.myisam.nonpk.relation.txt
30 lines (23 loc) · 1.34 KB
/
model.myisam.nonpk.relation.txt
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Связь не по первичному ключу в MyISAM
=====================================
При использовании InnoDB или другой базы с правильно выставленными внешними ключами,
Yii отлично определяет нужные поля для связей типа `HAS_MANY`. Если же используется
MyISAM, в котором поддержки внешних ключей нет, или view, необходимо задать их в коде:
```php
class MyModel extends CActiveRecord
{
public function getTableSchema()
{
$table = parent::getTableSchema();
$table->columns['fk_column_name']->isForeignKey = true;
$table->foreignKeys['fk_column_name'] = array('MyRelatedModel', 'related_model_fk');
return $table;
}
}
```
Полезные ссылки
---------------
- [Adding Foreign Keys Manually](http://danaluther.blogspot.com/2010/06/adding-foreign-keys-manually.html)
---
- `Авторы`: [Dana Luther](http://www.yiiframework.com/forum/index.php?/user/4032-dana/), Александр Макаров, Sam Dark ([rmcreative.ru](http://rmcreative.ru/))
- `Обсуждение и комментарии`: [http://yiiframework.ru/forum/viewtopic.php?f=8&t=2540](http://yiiframework.ru/forum/viewtopic.php?f=8&t=2540)