我正在努力解決一個非常奇怪的問題,而且我似乎無法修復它。從Doctrine_Record執行查詢時無法加載相關表格
短版
當我從Doctrine_Record內執行查詢,它只是似乎不工作時,我試圖讓相關表。我得到一個異常:
error: Uncaught PHP Error: Trying to get property of non-object in file D:/Tools/Development/xampp1.7/htdocs/x-interactive/xibits/application/views/issues/changeList.php on line 23
這一特定線路上,我嘗試
我使用的Kohana +學說才能到當前表
龍版的子表。我有三張表,我想從中獲得結果。
我有兩種情況:
- 顯示
- 顯示特定表
的一些孩子的對於第一種情況的特定表的所有孩子的,我已經把一種在模型,它執行(原則)查詢並返回結果。這工作正常。
對於第二種情況,將方法添加到父原則記錄中以獲取所有內容,但隨後進行過濾,看起來很方便。但是,當我執行該查詢時,我得到或未知的類異常,或試圖獲得對非對象錯誤的引用(取決於我確切執行/返回的內容)。試圖找到問題的根源,我甚至只是返回應該工作的第一個方法的結果,但即使在那裏,我也得到相同的錯誤。
從Doctrine_Record中執行查詢是否有問題?
Doctrine_Record:
class Issue_History extends BaseIssue_History
{
public function getUserSafeItems()
{
$model = new Issue_History_Model();
return $model->fromIssueId(0);
}
}
Issue_History_Model:
public function fromIssueId($issue_id)
{
$q = Doctrine_Query::create()
->from("Issue_History IH, IH.Issue_History_Items IHI, IHI.Change_Types")
->where("IH.issue_id = ?", 3)
->orderBy("IH.date");
return $q->execute();
}
在使用該代碼的觀點:
<?foreach($model->issue_history as $history): //$issue_history is the result of Issue_History_Model->fromIssueId($id)?>
<div class="changeItem">
<h4>Bijgewerkt door <?=$history->User->name?> <?=datehelper::getRelativeTime($history->date)?></h4>
<ul>
<?
if($model->showNonUserChanges || $history->hasUserSafeItems()): //In the case of the error, the first condition is false, but the last is true?>
$history_items = $model->showNonUserChanges ? $history->Issue_History_Items : $history->getUserSafeItems()->Issue_History_Items?>
<?foreach($history_items as $history_item):?>
<li><?=sprintf($history_item->Change_Types->text, $history_item->old_value, $history_item->new_value)//Exception happens here?></li>
<?endforeach?>
<?endif;?>
</ul>
</div>
<?endforeach;?>
一些幫助,我通過簡化查詢解決了這個問題。 – Ikke 2010-02-12 11:05:51