Но вот при «сканировании» кода мне показалась логическая ошибка
Код: Выделить всё
protected function getModelTableFk() {
// Check required property modelTableFk.
if (empty($this->modelTableFk) || !$this->getOwner()->hasAttribute($this->modelTableFk)) {
// If property modelTableFk not set, trying to get a primary key from model table.
$this->modelTableFk = $this->getOwner()->getTableSchema()->primaryKey;
if(!is_string($this->modelTableFk)) {
throw new CException(Yii::t('yiiext', 'Table "{table}" does not have a primary key defined.',
array('{table}' => $this->getOwner()->getTableSchema())));
}
}
return $this->modelTableFk;
}
Получается, что если я при подключении behavior не укажу параметр modelTableFk, то класс попытается взять в качестве этого параметра номер записи в модели? Если так, то для случая уже двух моделей возникает проблема, когда ид-ишки записей начинают пересекаться. А это уже, как нетрудно догадаться, чревато последствиями.
Или я чего-то не понял?
Разъясните, плз.
ЗЫ. Если обязательным является список доп. полей, то как быть если для разных моделей с news, article (с одинаковыми полями) совпадут id? Или планируется использовать одну таблицу для одной модели? Тогда вопрос снимаю. Но было бы очень рульно, если бы можно было использовать одну таблицу для eav полей с разными моделями!!!