2016-03-05 74 views
2

我用Phalcon寫了一個Foo類。 Foo模型是這樣初始化的。Phalcon你自己之間的關係?

$this->hasMany('id', 'Foo', 'parent_id', ['alias'=> 'children']); 

Foo類具有parent_id其realted到Foo id

class Foo extends Model { 

    public $id; 

    public $parnet_id; 

    public $name; 

} 

然後想帶着孩子

$foo = Foo:find(); 

$children = $foo->children; 

現在返回非常大的對象列表。我希望得到與獲取的foo具有相同parent_id的孩子。

出了什麼問題?它有一些邏輯嗎? 在此先感謝。

回答

5

你做得對。正當傾倒Phalcon模型對象時,整個DI都會打印出來,這就是爲什麼你會感到困惑。但是,您可以在沒有任何問題的情況下迭代孩子。也請嘗試像這樣傾銷:

print_r($foo->children->toArray()); 

這樣你會看到孩子打印成數組。

+0

print_r($ foo-> toArray());它只返回3個字段 - id,parent_id和name,以及print_r($ foo-> children-> toArray());返回undefined兒童 – betty39johnson

+0

然後檢查你的$ foo查詢。您正在使用$ foo = Foo:find(); find()返回多個結果。嘗試使用findFirst()來獲取只有1條記錄,然後你可以得到它的孩子。 –

+0

謝謝,但可以避免toArray()函數?現在我試圖顯示兒童名稱 – betty39johnson