2015-07-19 95 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>