簡體   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