Codeigniter Aliase在Views中不起作用

时间:2015-02-27 13:54:04

标签: php mysql codeigniter web

我在codeigniter中编写了很多代码,但是我不得不重构我的数据库列前缀,当我使用连接查询加入我的模型查询中的一些表时,在一个查询中有一些表具有相同的id列,我使用Alias' As alias1'对于表名,模型成功运行没有问题

但是当我将$q = $this->db->get()变量传递给我的控制器然后将其传递给我的视图并按照以下方式迭代它时:

foreach($q->result() as $res)
   echo $res->alias1.id;

未知$alias1.id的php错误,但我为其中一个表声明了alias1

问题是什么? 感谢

1 个答案:

答案 0 :(得分:1)

执行->result()时,CI将构建一个对象数组。 您在select中声明的每个列都将是一个对象成员。但是,别名不会保留。

这意味着SELECT alias.field将转换为$obj->field而不是$obj->alias.field

如果您有两个具有相同名称的字段,请在SELECT子句中设置别名

$this->db->select("alias1.field as myfield, alisas2.field as myotherfield");

然后,您就可以使用$obj->myfield$obj->myotherfield

来获取这些内容