使用模型进行子查询
<?php
namespace app\api\model;
use think\Model;
use think\Db;
class ChatRecord extends Model
{
public function user($primary_key)
{
return $this->hasOne('Users','id',$primary_key);
}
public static function getSessionList($request){
$model = new self();
$subQuery = $model->table('table_name')->where('sender_id',$request['uid'])->whereOr('recipient_id',$request['uid'])->order('create_time','DESC')->limit(1000)->buildSql();
$session_list = $model->table($subQuery . 'record')->group('session_list')->select();
if($session_list){
foreach ($session_list as $key => $value) {
$session_list[$key]['user'] = $value->user('recipient_id')->find();
}
}
return $session_list;
}
}