2014-09-12 49 views
1

因此,我正在與PhalconPHP建立關係,然後嘗試從一個對象訪問這些關係。PhalconPHP:「部分對象」和關係調用?

當我這樣做:

Companies::find()[0]->companyTitles 

它工作正常。但是,當我將字段添加到它,這不:

Companies::find(array('fields'=>'id,name'))[0]->companyTitles 
// Gives: Undefined property: Phalcon\Mvc\Model\Row::$companyTitles 

我知道我得到回來時,我指定的字段部分對象,但是這是否意味着我不能使用一些「更高級「功能? (I am索要身份證)。如果我不需要所有東西(性能和所有...),我寧願不必從數據庫中拉回所有東西。

有沒有辦法解決這個問題?

+0

對不起,但我真的不明白你在這裏。首先,您將從DB檢索的數據集限制爲兩個字段 - 「id」和「name」,然後嘗試訪問第三個字段「companyTitles」。你希望你的模型如何讓你獲得這個屬性? – raina77ow 2014-09-12 23:11:05

+0

companyTitles不是第三個字段....它是一種關係,通過在初始化函數中定義,通過 $ this-> hasMany('id','CompanyTitles','company_id'); – 2014-09-12 23:15:54

回答

0

如您所見,返回對象的類型爲\Phalcon\Mvc\Model\Row。當您限制字段時,返回對象的類型不是您的模型,這意味着您無法訪問模型上的所有額外功能,並且只能使用這些屬性訪問您擁有的值先前指出。

TL; DR:不,你不能,因爲你得到的不是Companies的實例。