0

这是我在教义中查询的两个表的架构。

我的架构中有两个表,称为分类和课程,它们具有多对一的关系[应该真的是一对一的,但这就是它的编码方式]。我的查询编码TaxonomyTable.class.php如下:

 $this->createQuery('t.*, l.lid')
      ->innerJoin('t.Lesson l')
      ->where('t.section = ?','specific_section');

查询按原样执行,挑战实际上是访问课程盖子。假设查询被执行并存储在一个变量中$TaxonomyResults;从之前的帖子中,我了解到可以这样做:

foreach($TaxonomyResults as $TaxonomyResult)
{
   echo $TaxonomyResult->getLesson()->getLid();
}

但简单地说,这对我不起作用,我不知道为什么。在我的屏幕上呈现的错误是:

“Doctrine_Collection”没有方法“getLid”。

你觉得我在这里做错了什么?

4

1 回答 1

2

我看不到你的架构。

我猜分类法与课程有一对多的关系(分类法是一个)。

所以一个分类对象可以有很多课,

并且$TaxonomyResult->getLesson()应该返回课程对象(Doctrine_Collection),而不是课程对象。

您可以像数组一样获取课程对象:

$lessons = $TaxonomyResult->getLesson();

echo $lessons[0]->getLid(); 
于 2012-08-10T09:27:24.613 回答