Symfony1 无法访问条令中的联接表列

Symfony1 无法访问条令中的联接表列,symfony1,doctrine,symfony-1.4,doctrine-1.2,Symfony1,Doctrine,Symfony 1.4,Doctrine 1.2,这是我在条令中查询的两个表的模式 在我的模式中,我有两个名为taxonomy和lesson的表,它们有一个多对一的关系(实际上应该是一对一的,但这就是它的编码方式)。我的查询在TaxonomyTable.class.php中编码如下: $this->createQuery('t.*, l.lid') ->innerJoin('t.Lesson l') ->where('t.section = ?','specific_section'); forea

这是我在条令中查询的两个表的模式

在我的模式中,我有两个名为taxonomy和lesson的表,它们有一个多对一的关系(实际上应该是一对一的,但这就是它的编码方式)。我的查询在
TaxonomyTable.class.php中编码如下:

 $this->createQuery('t.*, l.lid')
      ->innerJoin('t.Lesson l')
      ->where('t.section = ?','specific_section');
foreach($TaxonomyResults as $TaxonomyResult)
{
   echo $TaxonomyResult->getLesson()->getLid();
}
查询按其应该的方式执行,真正的挑战是访问lid。 假设查询被执行并存储在变量
$TaxonomyResults
中; 从之前的帖子中,我了解到可以这样做:

 $this->createQuery('t.*, l.lid')
      ->innerJoin('t.Lesson l')
      ->where('t.section = ?','specific_section');
foreach($TaxonomyResults as $TaxonomyResult)
{
   echo $TaxonomyResult->getLesson()->getLid();
}
但简单地说,这对我不起作用,我也不知道为什么。在我的屏幕上呈现的错误是:

“Doctrine_Collection”没有方法“getLid”


你认为我做错了什么?

我看不到你的模式

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

因此,分类法对象可以有很多教训

$TaxonomyResult->getlessue()
应返回课程对象(条令集合),而不是课程对象

您可以获得类似数组的课程对象:

$lessons = $TaxonomyResult->getLesson();

echo $lessons[0]->getLid(); 

你能粘贴你的
schema.yml吗?这就是我的想法,但我想先看看他的schema.yml,这在技术上应该是正确的…我遗漏的是它是一个一对多关系并返回了一个集合,因此需要一个foreach循环来迭代lesson对象并访问特定的方法