参考网址
https://segmentfault.com/q/1010000018655976
https://www.cnblogs.com/kangshuai/p/12345924.html
步骤
1 SystemBonusUserLog 模型中
<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Model;
class SystemBonusUserLog extends Model
{
public function UserDetail()
{
return $this->hasMany(UserDetail::class,'userid','userid');
}
}
userdetail 模型中
public function SystemBonusUserLog()
{
return $this->belongsTo(SystemBonusUserLog::class,'userid','userid');
}
2 控制器
实现两表联合查询,从 userdetail 中读取出 username 值
$data = SystemBonusUserLog::with(['UserDetail' => function($query){
$query->select(['username','userid']);
}])
->whereHas('UserDetail', function ($query) use ($username){
if (isset($username)){
$query->where('username',$username);
}
})
->when($startTime, function ($query) use ($startTime,$stopTime) {
$query->whereBetween('created_at',[$startTime, $stopTime] ) ;
})->paginate($limit);