2013-12-08 60 views
0

我有一個數據庫表「交易」,其中有一個字段「帳戶」。我想從當前數據集中檢索所有非空帳戶行的子集,並將其作爲virtualField,我可以在我的視圖中訪問該行。CakePHP virtualField查找全部不爲空

class Transaction extends AppModel { 
    public $virtualFields = array(
     "Accounts" => $this->Transaction->find("all", array("conditions" => array("not" => array("Transaction.account" => null)))) 
    ); 
} 

這樣我就可以得到一個包含名爲「Accounts」的非空賬戶字段的所有事務的數組。

這不起作用 - 給我「意外的T_VARIABLE」錯誤(不喜歡$ this)。我試圖按照指南here。我是一箇中等水平的PHP開發人員,這是我第一個真正的Cake項目,所以我可能會做這個完全錯誤的。

回答

1

當你說你要查詢的模型裏面,你指定型號名稱,只是:

$this->find('all'); // when you're inside transaction model 

...所以試試這個:

"Accounts" => $this->find("all", array("conditions" => array("not" => array("Transaction.account" => null)))) 
+0

你可能是正確的,但是,我仍然得到「解析錯誤:語法錯誤,意外的T_VARIABLE ...在第3行」。這正是我顯示頂部,整個文件(嘗試沒有額外的「交易 - >」) –

+1

我看到 - 可能是那些屬性被定義得太早,無法打電話。您可以嘗試本手冊的這部分內容,並在您的構造函數中定義這些內容:http://book.cakephp.org/2.0/en/models/virtual-fields.html#virtual-fields-and-model-aliases –

+0

似乎已經做到了,謝謝! –