2013-06-13 50 views
0

我試圖將模型 - >查找查詢輸出轉換爲SQL,以便將其輸入到與當前正在使用的MySQL數據庫完全分離的數據庫中系統。我的問題是,我在模型中有幾個虛擬域,當執行Model->查找數據時不可避免地返回這些虛擬域。顯然,如果我要將數據轉換爲SQL,我將需要從查找中找到並刪除這些虛擬字段,SQL將用作與原始MySQL相同的數據庫的輸入。有沒有簡單的方法來省略虛擬領域?任何可以在1.3以上版本中完成的方式也是非常有用的。cakephp 1.3:如何從查找查詢中省略虛擬域

非常感謝。

回答

2

您只能在運行時定義虛擬場景。這是我通常做的。

$this->virtualFields['x'] = 'y'; 
// find query 

但你也可以限制查找領域

「域」 =>陣列(「沒有虛擬域的所有字段」)

這也將跳過你的虛擬領域。 雖然你通常不想詳細定義所有的字段。

您也可以不設置全部爲找到虛擬域()調用:

$tmp = $this->virtualFields; 
$this->virtualFields = array(); 
// find query 
$this->virtualFields = $tmp; 
+0

做什麼,如果你需要刪除虛擬場臨時上的接合(的hasMany,屬於關聯,HABTM ,. ..)模型? –