数据库操作,用A表中地区编号去找B表中的地区名。拼接成一条数据返回。

这是order表,有地区编号跟id;

这是address_code表,有地区编号跟中文名

我是想,拿到order表的时候里面的地区号就转为中文名。

$address_code = api('app\sysorder\api\order', 'getAllAddress', $params);

$order = api('app\sysorder\api\order', 'getOrderFind', $params);

回答

$field = "b.name province, c.name addressCity, d.name cityCode, a.realName, a.address, a.phone, a.remark, a.create_time";

$field是需要从数据库返回的数据,b.name province:
b是下列定义的数据表别名「 address_code b:(address_code是数据表名) 」

$data['list'] =  Db::name("order")->alias('a')

->leftJoin('address_code b','a.provinceCode = b.code')

->leftJoin('address_code c','a.eparchyCode = c.code')

->leftJoin('address_code d','a.cityCode = d.code')

->where($where)->field($field)->page($params['page'], $params['size'])->order('create_time','desc')->select()->toArray();

然后就返回我需要的数据了
image.png

可以使用 join 语句不? 不然就要拆成两步处理

以上是 数据库操作,用A表中地区编号去找B表中的地区名。拼接成一条数据返回。 的全部内容, 来源链接: utcz.com/a/36054.html

回到顶部