Laravel whereHas 用作 INNER JOIN?

Laravel whereHas is works as INNER JOIN?

我在 Laravel 中使用 whereHas 构建查询:

})->whereHas('results', function ($query) use ($issued, $mode, $request) {

            if (($request->get("filter"))) {
                $query->where('issued', 0);
            }

        })->orderBy('created_at', 'desc')->paginate();

此查询 returns 零行,因为 table results 中现在有

的行
 $query->where('issued', 0);

如何让 whereHasLEFT JOIN 一样工作?现在它作为 INNER JOIN

whereHas 只有 returns 个具有您正在寻找的关系的模型。如果您只想限制返回的 Results,请尝试 with:

$models = Model::with(['results' => function($query){

    $query->where('issued', 0);

}])->get();