English 中文(简体)
PHP Doctrine - 装载相关记录
原标题:PHP Doctrine - loading related records
  • 时间:2009-10-01 07:33:19
  •  标签:

采用理论 PHP

如果我有一个用户,与模型地址有着许多到许多关系,每个地址都有外在的地址类型(家庭、办公室)。 单分泌自动将相关记录装上这种地址。

$user = Doctrine::getTable( User )->findOneById(1); // bob
echo $user->Address[0]->address_type_id; // 4
echo isset($user->Address[0]->AddressType); // false
$user->Address[0]->refreshRelated(); // or $user->Address[0]->loadReference( AddressType );
echo isset($user->Address[0]->AddressType); // true
echo $user->Address[0]->AddressType->name; // office

不清楚这是否属于理论或我的模式。

但是,这是否是将相关模型排在深一层之外的最佳途径,还是有另一种方式实现同样的结果?

最佳回答

Have you simply tried joining you relations one by one? Works pretty well, if you relations are set up correct.

$user = Doctrine::getTable( User )
  ->createQuery( u )
  ->leftJoin( u.Address a )
  ->leftJoin( a.AddressType t )
  ->findOneById(1);

你也与你的榜样相比,不回答你提出的2个问题。

问题回答

你们可以说:

echo $user->Address[0]->AddressType->name;

如果你试图不打脚,那么杜古拉应当检查,在自动收回价值之前就确定价值。





相关问题
热门标签