[英]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.