как присоединиться к таблице eav в table_method - PullRequest
0 голосов
/ 10 июля 2011

У меня есть следующий schema.yml:

JosJeventsVevdetail:
  connection: doctrine
  tableName: jos_jevents_vevdetail
  columns:
    evdet_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    rawdata:
      type: string()
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false
  relations:
    CustomField: { class: JosJeventsVevdetail, local: evdet_id, foreign: evdet_id, type: one, foreignType: many }


JosJevCustomfield:
  connection: doctrine
  tableName: jos_jev_customfields
  columns:
    id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: true
      autoincrement: true
    evdet_id:
      type: integer(4)
      fixed: false
      unsigned: false
      primary: false
      default: '0'
      notnull: true
      autoincrement: false
    name:
      type: string(255)
      fixed: false
      unsigned: false
      primary: false
      default: ''
      notnull: true
      autoincrement: false
    value:
      type: string()
      fixed: false
      unsigned: false
      primary: false
      notnull: true
      autoincrement: false

Т.е. в JosJeventsVevdetail есть много пар имя / значение, которые сопоставляются с одной записью.это с помощью метода таблицы (и некоторых других таблиц), например:

return $q->
    innerJoin("$rootAlias.Event e")->
    innerJoin("e.EventDetail ed")->
    innerJoin("ed.CustomField cf")->
    innerJoin("$rootAlias.JoomlaUser u")->
    innerJoin("u.Person p")->
    innerJoin("$rootAlias.Status s")->
    innerJoin("$rootAlias.RsvpType rt")->
    addWhere("cf.name=?",'preconExams')-> //this removed works,but query wrong
    addSelect("$rootAlias.*, e.*, ed.*, s.*, rt.*, u.*, p.*, cf.*");

, но я получаю сообщение об ошибке «Неизвестное имя столбца».Когда я удаляю cf.name = 'preconExams', запрос выполняется, но jos_jev_customfields не включается в запрос.

Что-то не так со схемой?

1 Ответ

1 голос
/ 10 июля 2011

что не так, это класс ваших отношений. Это должно быть JosJevCustomfield, а вы поставили JosJeventsVevdetail ;-). JosJeventsVevdetail не имеет столбца name, следовательно, ошибка.

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