Небольшая проблема внутреннего соединения с доктриной Symfony 1.4

Извините, но я действительно не понимаю доктрины. Я думал, что получил, но я думаю, что нет, потому что появляется следующая ошибка:

Unknown relation alias Artikelkategorie

Со следующей schema.yml:

Artikelkategorie:
connection: doctrine
tableName: artikelkategorie
columns:
id:
  type: integer(4)
  fixed: false
  unsigned: true
  primary: true
  autoincrement: true
superid:
  type: integer(4)
  fixed: false
  unsigned: true
  primary: false
  notnull: true
  autoincrement: false
branche_id:
  type: integer(4)
  fixed: false
  unsigned: true
  primary: false
  notnull: true
  autoincrement: false
Portfolio:
connection: doctrine
tableName: portfolio
columns:
artikel_id:
  type: integer(4)
  fixed: false
  unsigned: true
  primary: true
  autoincrement: false
markt_id:
  type: integer(4)
  fixed: false
  unsigned: true
  primary: true
  autoincrement: false 
relations:
Artikel:
  local: id
  foreign: zustand_id
  type: many
Portfolio:
  local: id
  foreign: zustand_id
  type: many

После моего action.class.php (короткий)

                $this->unt_cat_list = Doctrine_Query::create()
                    ->select('p.*, a.*')
                    ->from('portfolio p')
                    ->innerJoin('p.Artikelkategorie a')
                    ->Where('p.markt_id = ? ', array(2))
                    ->Where('a.superid = ?', array(1))
                    ->Where('a.branche_id = ?', array(2))
                    ->execute();

И мой php-код, но я думаю, что он бесполезен:

<?php foreach ($unt_cat_list as $cat_list1): ?>
<a href="<?php echo url_for('shop/category') . '/' . 'id/' . $cat_list1->getMarktId()?>"><?php echo $cat_list1->getMarktId() ?></a>
<?php endforeach; ?>

Почему возникают неизвестные отношения? Что я делаю неправильно в запросе action.class.php?

Большое спасибо!!!

Крафантер


person craphunter    schedule 24.05.2011    source источник


Ответы (1)


Потому что между Portfolio и Artikelkategorie просто нет связи.

Посмотрите на отношения в Портфолио. Есть только статья. Также тот факт, что доктрина строит это, кажется немного странным. Второе отношение, которое вы определили в портфолио, является самоотсылающимся, но столбца «zustand_id» нет.

person Flask    schedule 24.05.2011