在DQL连接中对“未知记录属性/相关组件”进行故障诊断

时间:2011-05-22 15:49:50

标签: php symfony1 doctrine symfony-1.4

我确实有以下schema.yaml:

Artikel:
connection: doctrine
tableName: artikel
columns:
id:
  type: integer(4)
  fixed: false
  unsigned: true
  primary: true
  autoincrement: true
bezeichnung:
  type: string(255)
  fixed: false
  unsigned: false
  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()
                    ->from('portfolio p')
                    ->innerJoin('p.Artikel a')
                    ->Where('p.markt_id = ? ', array(3))
                    ->andWhere('a.id = ?', array(8))
                    ->execute();

我的下载了toSucccess.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->getBezeichnung() ?></a>
<?php endforeach; ?>

现在我的问题:我想显示专栏“Bezeichnung”(意思是:描述,所以这是正常的文字)。错误出现在以下句子中:

  

“投资组合”中的未知记录属性/相关组件“bezeichnung”

它正在使用这个数组(3)和(8),因为数据库中的条目存在,所以symfony正在加入,我是对的吗?

如何列出“Bezeichnung”栏目?有人可以帮帮我吗?

1 个答案:

答案 0 :(得分:2)

Bezeichnung是Artikel类的一个列,所以你应该这样做,$cat_list1必须是一个投资组合(因为......我认为它出现在你的from子句中)。所以你应该做的是$cat_list1->getArtikel()->getBezeichnung()(das ist germglish ^^)。