多表联合查询返回的结果对象中如何区分不同表的相同字段
RT,
我试了一下,posts表和users表都有id,但是使用 $row->id 只能返回 sql语句中最后选择的那个表的id
这个有没有解决办法?
比如说下面这句
PHP
$sql = "SELECT posts.id, users.id, posts.title, users.username, posts.time, posts.comments, posts.visits FROM posts JOIN users ON users.id = posts.user_id WHERE posts.type_id = '2'"
//用这个执行
return $this->db->query($sql);
复制代码
返回的对象交给view 怎样将users.id 和 posts.id 区别开? Ding 发表于 2012-9-20 18:32 static/image/common/back.gif
我也遇到这个问题了,不过我这边字段很多 用as真心蛋疼啊
有一个好方法 和大家分享比如你需要查找 accoun表中的id 而第二个表也同样有id这个字段 可以用这样的方法$this->db->select('*,account.id as id');
$this->db->from();
$hhis->db->join();
$this->db->get();这样你在 result_array以后id这个字段就是你需要的 account表中的id 上个帖子发错版块了,没人理~ 貌似有点眉目了~用select as
http://stackoverflow.com/questions/2564543/codeigniter-differentiate-field-names-in-joined-tables SELECT posts.id as pid, users.id as uid, posts.title, users.username, posts.time, posts.comments, posts.visits FROM posts JOIN users ON users.id = posts.user_id
你看这样行不行……没有环境测试……不好意思……
用AS重命名 我也遇到这个问题了,不过我这边字段很多 用as真心蛋疼啊:L:L Ding 发表于 2012-9-20 19:10
有一个好方法 和大家分享比如你需要查找 accoun表中的id 而第二个表也同样有id这个字段 可以用这样 ...
很牛逼。没想到这个方法,表锅,感谢!
页:
[1]