2015-07-19 87 views
1
city 
    columns 
    id 
    name 
    province_id 
Relation 
    Province 
    one to many 
Province 
    columns 
    id 
    province_name 

我想要显示的字符串值,而不是外国id.So显示字符串值远教义1.2一对多关系

<?php foreach($results as $r): ?> 
    <tr> 
     <td><?php echo $r['name'] ?></td> 
     <td><?php echo $r['province_id']?></td> 
    </tr> 
<?php endforeach ?> 
</tbody> 

显示

name province 
Kansas 1(province_id) 

我想,而不是

name province 
KANSAS SOUTH PROVINCE 

in tableClass

public function SearchCity($name) 
{ 
    return $this->createQuery('c') 
    ->andWhere('c.name like ?', '%'.$name.'%') 
    ->execute(array(), Doctrine_Core::HYDRATE_ARRAY); 
} 

我的问题是我想呼应province_name代替province_id

如何做到这一点任何想法?

回答

2

只需修改tableClass这样的查询

public function SearchCity($name) 
{ 
    return $this->createQuery('c') 
    ->select('c.*') 
    ->innerJoin('c.Province p') 
    ->addSelect('p.name as provincename') 
    ->andWhere('c.name like ?', '%'.$name.'%') 
    ->execute(array(), Doctrine_Core::HYDRATE_ARRAY); 
} 

现在你可以很容易地显示的字符串值,而不是外来入侵

<td><?php echo $r['name'] ?></td> 
<td><?php echo $r['provincename'] ?></td>