Symfony1 无法访问条令中的联接表列
这是我在条令中查询的两个表的模式 在我的模式中,我有两个名为taxonomy和lesson的表,它们有一个多对一的关系(实际上应该是一对一的,但这就是它的编码方式)。我的查询在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
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对象并访问特定的方法