Alexufo
@Alexufo
противоречивый, сложный, весь компьютерный.

Неправильная логика в YII?

Почему нельзя объеденить строки usersdd1 и usersdd2?
Приходится дублировать строчки с разными именами, иначе ругается на уникальность.

Не кажеся ли вам что это недоработка фреймворка?

'usersdd1' => array (self::BELONGS_TO, 'Users', 'userid'),
'clothingsizename'=>array(self::HAS_ONE, 'Clothingsize',array('clothing_size'=>'id'),'through'=>'usersdd1'),
'usersdd2' => array (self::BELONGS_TO, 'Users', 'userid'),
'shoessizesname'=>array(self::HAS_ONE, 'Shoessizes',array('shoes_size'=>'id'),'through'=>'usersdd2'),
  • Вопрос задан
  • 3449 просмотров
Пригласить эксперта
Ответы на вопрос 4
miraage
@miraage
Старый прогер
Если Вы считаете, что это недоработка фреймворка, то никто не запрещает Вам оформить issue на GitHub.
Ответ написан
Комментировать
Fesor
@Fesor
Full-stack developer (Symfony, Angular)
Мне кажется в вашем случае фреймворк делает все правильно, а вот у вас с такой структурой базы могут в последствии возникнуть проблемы. Как минимум вы пытаетесь указать связи для двух таблиц через одно поле, что нельзя делать. Слепите связи в каком-нибудь WorkBench и сгенерьте через Gii модели, посмотрите какие связи он вам нагенерил, сравните. Я увы давно не писал на Yii так что более конкретно сказать не смогу.
Ответ написан
Alexufo
@Alexufo Автор вопроса
противоречивый, сложный, весь компьютерный.
Это не доработка. На форуме Yii согласились.
Ответ написан
taliban
@taliban
php программист
Попробуйте нечто типа:
'usersdd2' => array (self::BELONGS_TO, array('Users', 'Users2'), 'userid'),
или
'usersdd2' => array (self::BELONGS_TO, 'Users as Users2', 'userid'),
Я не знаю как это в Yii сделать, но ругается не на ключ, а на значение, вы подключаете две одинаковые таблицы без алиасов, этого в mysql сделать нельзя (если я правильно понял что вы делаете)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы