【问题标题】:Displaying string value in Doctrine 1.2 oneToMany relationship在 Doctrine 1.2 oneToMany 关系中显示字符串值
【发布时间】:2015-07-19 17:07:06
【问题描述】:
city
  columns
  id
  name
  province_id
Relation
  Province
  one to many
Province
  columns 
  id
  province_name

我想显示字符串值而不是外国id。到目前为止

<?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

在表类中

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

我的问题是我想回显省名而不是省ID

关于如何做到这一点的任何想法?

【问题讨论】:

    标签: symfony-1.4 doctrine-1.2


    【解决方案1】:

    只需像这样修改您的 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);
    }
    

    现在您可以轻松地显示字符串值而不是外国 ID

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-01-25
      相关资源
      最近更新 更多