|
|
本帖最后由 win 于 2023-12-7 17:48 编辑
以TP5.1为例子
其中有两个表
A表字段:aid
B表三个字段:id,bname,bid
例如数据库中的A表aid字段是这样存储的:101,102,103,.....
B表字段中id咱不管他,[bid=101,bname=山东,bid=102,bname=河南,bid=103,bname=河北....]
也就是说A表的aid=B表的bid
联表查询
//RpanModel是A表的类,
//RommModel是B表,
//方法名
public function user_hei_dan_do(){
//这里有一个查询条件,前端过来的数据,我们根据这个条件来查询
$ip = request()->ip();
//A表查询
$rows = RpanModel::where(['ip' => $ip])->find();
$aids = $rows['aid'];
//B表查询
$bname = RommModel::whereIn('bid',$aids)->select();
dump($bname);dump($bname['bname']);
//还有一种方法//指定的分隔符分割字符串,并将分割后的子字符串存储在一个数组中返回
$arr = explode(",", $aids);
//遍历查询数组
foreach ($arr as $k) {
$bname = RommModel::where('bid', $k)->select();
dump($bname); dump($bname['bname']);
}
}
|
|