无法在laravel中使用join子查询获取正确的数据

s3fp2yjn  于 2023-05-30  发布在  其他
关注(0)|答案(1)|浏览(172)
$serviceId = Service::select('id')->where('provider_id', Auth::user()->id)->where('is_deleted', 0);
$list = DB::table('service_galleries')
            ->where('is_deleted', 0)
            ->joinSub($serviceId, 'sid', function ($qry) {
                $qry->on('service_galleries.service_id', '=', 'sid.id');
            })->get();

从上面的代码我需要id的每一行在服务画廊表,但返回的service_id在字段的id,这意味着service_id和id是相同的

wgx48brx

wgx48brx1#

为什么你不使用Laravel的Eloquent内置在relationships?这可能会让你省去很多麻烦。
例如,在服务模型中,您可以创建一个函数,例如:

public function galleries(){
    $this->hasMany(ServiceGalleries::class);
}

在ServiceGalleries模型中(不知道实际名称)

public function service(){
    $this->belongsTo(Service::class);
}

相关问题