2017-08-02 79 views
0

我正在尋找一種更好的方式在我的流體模板中打印查詢結果時,我知道只有一個結果。例如,我正在從數據庫中獲取具有特定ID的數據集,並希望將其打印出來。我現在的辦法是:訪問單個查詢結果中沒有f:for循環流體

<f:for each="{scripts}" as="script"> 
    {script.title} 
</f:for> 

凡在控制器我有:

$this->view->assign('scripts', $this->msRepository->getScript($scriptId)); 

調用該查詢:

return $this->dbHandle->sql_query("SELECT * FROM script WHERE id = $scriptId"); 

所以,我100%肯定,只有一個入口在{scripts},我仍然需要通過循環與f:for循環。有沒有更好的辦法?

我試過{scripts.0.title}但得到了空白輸出。廣泛的谷歌搜索沒有爲我產生任何結果。

編輯

return $this->dbHandle->sql_query("SELECT * FROM script WHERE id = $scriptId")->fetch_array(); 

然後,我可以用{scripts.title}訪問值:它改變了查詢時的作品。

+1

爲什麼不簡單修改你的「getScript」函數,所以如果你只需要一個對象就返回第一個對象? –

+0

謝謝你,這個伎倆。將我的解決方案添加到問題 – jens108

回答

2

像你所假設的那樣:{scripts.0.title}應該做這個工作。

+0

嗯,我曾嘗試過,並且只有一個空白輸出。我究竟做錯了什麼? – jens108

+1

你可以只添加一個' {scripts}'並看看你看到的是什麼鍵。只是,以確保有一個'scripts.0' –

+0

我正在此:'mysqli_resultprototypeobject current_field => 0(整數) FIELD_COUNT => 3(整數) 長度=> NULL NUM_ROWS => 1(整數) type => 0(整數)'。對於' {scripts.0}'它只顯示'NULL' – jens108