relations в yii без primary key.

программирование php MySQL базы данных yii

Нужно соединить две таблицы в relation.
В первой есть id - primary key во второй inst_id по которому нужно связать id.
Во второй таблице нет ключей все поля не уникальные.
если писать:
'dop_fields'=>array(self::HAS_MANY, 'InstitutionsDopfields','institutions_id'),
то выводит ошибку Invalid argument supplied for foreach() как я понял потомучто institutions_id не primary_key. Как обойти?
таким методом:
'dop_fields'=>array(self::HAS_MANY, 'InstitutionsDopfields', '', 'on'=>'institutions_id=id'),
не работает Column not found: 1054 Unknown column 'id' in 'where clause'.
таблицы InnoDB

Примечание:
Не вижу двусмысленности. Все вполне логично и правильно по моему. Грубо говоря есть пользователь и у него много сообщений связь по id пользователя, он не уникален соответственно. Зачем делать по другому?

Примечание:
Решил делать без relation, просто написал функцию в модели выдирающую нужные мне данные. Так что вопрос актуален.
Ответы:
А почему нельзя подправить структуру БД, дабы избежать двусмысленности достпупа к данным?
А каким образом Вы собираетесь редактировать или удалять одно конкретное сообщение?


10 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.