此問題與this one類似,但是(字面上)將其帶到另一個級別或級別。不確定層數的對象屬性
背景:我正在使用Kohana PHP framework,特別是ORM library。
基本上,當您通過數據庫結果循環訪問時,可以將字段值作爲對象的屬性進行訪問。任何連接的表都可以以分層方式訪問。例如:
$users = ORM::factory('user')->with('city')->with('city:country')->find_all();
foreach ($users as $user) {
echo "<p>{$user->name} ({$user->city->name}, {$user->city->country->name})</p>";
}
將輸出:
用戶1(城1,國家1)
用戶2(市2,國家1)
用戶3(市2 ,國家1)
用戶4(城市3,國家2)
用戶5(市4,國家2)
等
現在,我的問題是:是否有訪問對象的層次性爲任意數量級別的方法。理想情況下,我想這樣做:
$users = ORM::factory('user')->with('city')->with('city:country')->find_all();
$var2 = 'name';
$var2 = 'city->name';
$var3 = 'city->country->name';
foreach ($users as $user) {
echo "<p>" . $user->{$var1} . "(" . $user->{$var2} . ", " . $user->{$var3} . ")</p>";
}
這是可能的一些簡單的方式,我失蹤了?
非常感謝!
對不起,我應該指定我使用Kohana 2.3.4 - 這個功能似乎只Kohana 3。 這就是說,這是一個很好的解決方案,如果我使用Kohana 3,我肯定會使用它。 – 2010-01-15 18:51:22
好吧,我編輯了答案來澄清這一點。 – dusan 2010-01-15 19:27:35