求这种sql如何写 [ 2.0 版本 ]
现在有2张表,user表和area表(用户表和区域表),user表有3个字段是provice_id,city_id,area_id(省市区id),这3个字段都对应area的主键id,area表就只有id和name字段,
现在我要查用户信息,信息里要省市区的name字段,如何快速联表取出数据,主要是现在3个外键了,不知道怎么写sql了??
共 6 个回答
-
想考虑效率,起码给area表增加level字段;
function getProvice(){ return $this->hasOne('are表',['id'=>'provice_id']); } function getCity(){ return $this->hasOne('are表',['id'=>'city_id']); } function getArea(){ return $this->hasOne('are表',['id'=>'area_id']); }
有leve时,在加上where;想怎么查都行啊
Eddie_c 觉得很赞 -
模型。。
function getProvice(){
return $this->hasOne('are表',['id'=>'provice_id']);
}
function getCity(){
return $this->hasOne('are表',['id'=>'city_id']);
}
function getArea(){
return $this->hasOne('are表',['id'=>'area_id']);
}引用二楼的
在视图上可以写
$model->provice->provice_name;
$model->city->city_name;
$model->area->area_name;
我经常这么写,虽然不知道对不对 但效果出来了
xyf90314
注册时间:2015-03-04
最后登录:2023-03-13
在线时长:95小时23分
最后登录:2023-03-13
在线时长:95小时23分
- 粉丝21
- 金钱5257
- 威望40
- 积分6607