Таблицы, связанные с Cakephp, показывают идентификаторы вместо значений - PullRequest
2 голосов
/ 30 декабря 2010

Я думаю, что все мои отношения правильно «испеклись», но моя «связанная» таблица показывает идентификаторы вместо значений.

В моей базе данных есть 3 таблицы.кандидаты, квалификационные обзоры, квалификации.qualificationlookups, связывает кандидатов с квалификациями, используя идентификатор кандидата и идентификатор квалификации.

на мой взгляд, для «кандидатов» у меня есть таблица «связанных квалификационных просмотров».(генерируется путем выпечки кандидатов с множеством квалификационных просмотров и квалификационных просмотров, принадлежащих кандидатским отношениям)

в моем представлении редактирования для «квалификационных просмотров» я могу правильно настроить поля кандидатов и квалификаций как раскрывающиеся списки, поэтому я знаю, что отношения квалификационных просмотровхорошо.

Итак, как мне попросить cakephp перечислить название квалификации (из таблицы «квалификаций») в таблице «связанных квалификационных просмотров» на странице кандидата?

я должен отсутствоватьчто-то ...

Может кто-нибудь, пожалуйста, укажите мне правильное направление?

Спасибо, Vauneen

Ответы [ 2 ]

3 голосов
/ 30 декабря 2010

Всякий раз, когда CakePHP автоматически выбирает списки из ваших таблиц, он использует клавишу id для значения и $displayField для текста.

Если в вашей таблице есть поле name или title, CakePHP автоматически отображает его как поле отображения.Итак, либо переименуйте поле, которое вы хотите, в качестве поля отображения (скажем, candidate_name, просто name), либо установите переменную $displayField в вашей модели:

class Candidate extends AppModel {
    var $displayField = 'candidate_name';
}

HTH.

1 голос
/ 30 декабря 2010

Если в таблице qualificationlookups нет других данных, измените отношение на candidates -> HABTM -> qualifications.

. Для этого сначала нужно удалить таблицу qualificationlookups.Создайте новую таблицу с именем candidates_qualifications с двумя индексами, candidate_id и qualification_id.

В ваших моделях Candidate и Qualification определите HABTM Relationship .Вам не нужно делать новую CandidatesQualification модель, торт сделает это на лету.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...