Through BELONGS_TO

Общие вопросы по использованию фреймворка. Если не знаете как что-то сделать и это про Yii, вам сюда.
Ответить
maschingan
Сообщения: 75
Зарегистрирован: 2011.01.20, 23:52

Through BELONGS_TO

Сообщение maschingan »

Имеется модель с примерно следующими отношениями:

Код: Выделить всё

class Model extends CActiveRecord
{
  relations()
  {
    'belongs' => (self::BELONGS_TO, 'Belongs', 'belongs_id'),
    'hasMany' => (self::HAS_MANT, 'HasMany', array('id' => 'belongs_id'), 'through' => 'belongs')
  }
} 
пытаюсь сделать следующее:

Код: Выделить всё

    VarDumper::dump(Model::model()->findByPk($pk)->hasMany);
 
И получаю исключение: CDbCommand не удалось исполнить SQL-запрос: SQLSTATE[42703]: Undefined column: 7 ERROR: column belongs.belongs_id does not exist
При этом если переписать отношение belongs следующим образом (что больше похоже на HAS_ONE):

Код: Выделить всё

    'belongs' => (self::BELONGS_TO, 'Belongs', array('id' =>  'belongs_id')),
 
То отношение hasMany работает, но belongs нет.
Вопрос: "through может использоваться как с HAS_ONE, так и с HAS_MANY." означает, что отношение модели указанной в through тоже должно быть только HAS_ONE или HAS_MANY? Если BELONGS_TO работает просто поменяв ключи ...
alibek_arse
Сообщения: 1
Зарегистрирован: 2013.03.21, 12:57

Re: Through BELONGS_TO

Сообщение alibek_arse »

Привет, у тебя опечатка: 'hasMany' => (self::HAS_MANT ----- self::HAS_MANY
Ответить