Php 如何根据原则1.2找到特定的相关对象

Php 如何根据原则1.2找到特定的相关对象,php,doctrine,Php,Doctrine,doctrine 1.2手册中的代码示例为用户提供了一个电话号码和区号: $q = Doctrine_Query::create() ->from('User u') ->leftJoin('u.Phonenumbers p') ->where('u.id = ?', 1); $user = $q->fetchOne(); echo $user->Phonenumbers[0]['phonenumber']; echo $user->Phonenumber

doctrine 1.2手册中的代码示例为用户提供了一个电话号码和区号:

$q = Doctrine_Query::create()
->from('User u')
->leftJoin('u.Phonenumbers p')
->where('u.id = ?', 1);

$user = $q->fetchOne();

echo $user->Phonenumbers[0]['phonenumber'];
echo $user->Phonenumbers[0]['areacode'];
是否可以在不循环电话号码[]的情况下获取区号为123的特定电话号码?

尝试以下操作:

$q = Doctrine_Query::create()
->from('User u')
->leftJoin('u.Phonenumbers p')
->where('u.id = ? AND p.areacode = ?', 1,$areacode);

$user = $q->fetchOne();

echo $user->Phonenumbers[0]['phonenumber'];
echo $user->Phonenumbers[0]['areacode'];

谢谢,这可能会起作用,但在我提取代码中的用户对象时,我不知道区号。为什么不将提取移动到已知区号的正确位置?我无法这样做。$user用于我的所有页面,因此我在基类的早期阶段获取它。根据所选的页面,我将不得不编写n个不同的where语句……我已经重新检查了我的代码,并且可以使用ITroubs代码进行少量更正。where语句的正确格式是:->where('u.id=?',$id)->和where('p.areacode=?',$areacode),据我所知,我和你都可以这样做;-)