繁体   English   中英

Doctrine query in Symfony 1.4,不确定我这里做错了什么

[英]Doctrine query in Symfony 1.4, not sure what I am doing wrong here

我有一个查询,内容如下:

$fields = Doctrine_Core::getTable('model_1')->findByColumnId($id); 

在字段上进行了 var_dump,并按应有的方式检索数据;

接下来,我这样做

foreach($fields as $field)
{
 $newerFields[$field->getColumnId()] =
 Doctrine_Core::getTable('model2')->findByColumn2Id($field->getColumnId());
}

我对每个 $newerFields[$field] 进行了 var_dump,它确实产生了它应该产生的结果。 接下来我尝试这样做:

foreach($newerFields as $newerField)
{
 echo  $newerField->getColumn3();
}

但这吐出:在第 69 行的 actions.class.php 中调用未定义的方法 Doctrine_Collection::getColumn3()

我无法全神贯注地思考如何完成它。 谁能帮我找出问题所在?

你的findByColumn2Id返回一个 Doctrine_Collection 因为findBy总是返回一个集合(如果你没有在表文件中定义它)即使只有一个结果。 如果要检索一个结果,请改用findOneBy

否则,您将不得不循环访问newerFields来检索数据:

// array of Doctrine_Collection
foreach($newerFields as $newerFieldCollection)
{
  foreach($newerFieldCollection as $newerField)
  {
    echo $newerField->getColumn3();
  }
}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM