Вам, вероятно, потребуется отменить объединения и начать с таблицы "user", к которой присоединяются 2 другие таблицы, хотя это не имеет большого значения, если вы получаете правильный запрос.
Сначала добавьте$this->debug();
в инициализации вашей модели.Это очень поможет вам, когда вы будете отлаживать соединения, обновления и т. Д.
class Model_User extends Model_Table {
public $entity_code='users';
function init(){
parent::init();
$this->newField('name')
->caption('Imie')
->mandatory(true);
}
}
class Model_User_Combined extends Model_User {
function init(){
parent::init();
$this->addRelatedEntity('info','users_info','inner','related');
$this->addRelatedEntity('cred','users_credentials','inner','related');
$this->addField('phone')->caption('Nr tel')->relEntity('info');
$this->addField('password')->caption('Parol')->relEntity('cred');
}
}
По сравнению с решением, которое у вас есть сейчас, в качестве основной таблицы используются пользователи и объединяются в дополнительные таблицы как «связанные»..
Также вы получите выгоду от наследования, а Model_User
добавит несколько базовых пользовательских полей для вас.