【问题标题】:Unable to filter the data for the third relation无法过滤第三个关系的数据
【发布时间】:2021-12-21 21:08:57
【问题描述】:

由于以下查询中的过滤器在 Laravel 中不起作用,我们正在第三级获取纬度和经度

// Filters Form Nearest location with latitude and longitude.        
if ($request->latitude !="" && $request->longitude !="") {
    $list = $list->whereHas('partnerOutletPromotion', function ($query) use ($request) {
        $query->select(DB::raw("*, 6371 * acos(cos(radians('".$request->latitude."')) * 
        cos(radians(latitude)) * cos(radians(longitude) - radians('".$request->longitude."')) + 
        sin(radians('".$request->latitude."')) * sin(radians(latitude))) AS distance"));
        $query = $query->having('distance', '<', 100000);
        $query = $query->orderBy('distance', 'asc');
    });
    return response()->json($list->get());
}

// model function
public function partnerOutletPromotion(){
    return $this->hasManyThrough(PartnerOutlet::class, PartnerOutletPromotion::class);
}

错误信息

【问题讨论】:

标签: laravel filter relationship


【解决方案1】:

您的数据库似乎与您的模型不同步。您可能应该进行迁移。

【讨论】:

    猜你喜欢
    • 2017-08-11
    • 1970-01-01
    • 2019-07-24
    • 1970-01-01
    • 2021-08-07
    • 1970-01-01
    • 2023-04-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多