> 백엔드 개발 > PHP 튜토리얼 > Thinkphp两张数据表left join怎么让相同字段不被覆盖?

Thinkphp两张数据表left join怎么让相同字段不被覆盖?

WBOY
풀어 주다: 2016-06-20 12:27:49
원래의
1762명이 탐색했습니다.

M('User')->join('LEFT JOIN before_conditions on before_conditions.uid=User.id')->where($mapBarCode)->select();

user表和before_conditions表都有id作为主键

现在我要得到user表的id,但查询出来的结果被before_conditions的id覆盖了,该怎么办?


回复讨论(解决方案)

我知道要改字段别名,原生的我知道,但是tp的数据库语法该怎么改

$Model->field('id,nickname as name')->select();

$name = M('User')->join('LEFT JOIN before_conditions on before_conditions.uid=User.id')->where($mapBarCode)->select();
for($i=0;$i      $name_b=M('before_conditions')->where("")->find();
      $name[$i]['b_id'] = $name_b['id'];
}

dump($name);  输出结果user表的id几不会被覆盖

$Model->field('id,nickname as name')->select();


成功了,不过我这两张表除了id有几十个字段,要自己全部在field里加上吗

$name = M('User')->join('LEFT JOIN before_conditions on before_conditions.uid=User.id')->where($mapBarCode)->select();
for($i=0;$i      $name_b=M('before_conditions')->where("")->find();
      $name[$i]['b_id'] = $name_b['id'];
}

dump($name);  输出结果user表的id几不会被覆盖



我就是希望能只连接一次数据库就能取出
원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿