Php 通过计算它们之间的关系来过滤元件Laravel5

Php 通过计算它们之间的关系来过滤元件Laravel5,php,laravel,laravel-5,eloquent,Php,Laravel,Laravel 5,Eloquent,我有两个表,典型的主控细节,我打算做的是获取主控记录,而通过关系的where获得的注册号大于n 我一直在做这个直到现在 Master::withTrashed() ->with('details') ->withCount(['details' => function ($query) { $query->whereDate('date_init', '<', Carbon::now()->toDateString()); }]); Master

我有两个表,典型的主控细节,我打算做的是获取主控记录,而通过关系的where获得的注册号大于n

我一直在做这个直到现在

Master::withTrashed()
->with('details')
->withCount(['details' => function ($query) {

    $query->whereDate('date_init', '<', Carbon::now()->toDateString()); 
}]);
Master::withTrashed()
->带有('详细信息')
->withCount(['details'=>函数($query){
$query->whereDate('date_init','
Master::withTrashed()
->有('详细信息')
->带有('详细信息')
->withCount(['details'=>函数($query){

$query->whereDate('date\u init','您要查找的是以下查询:

Master::withTrashed()
    ->with(['details' => function ($query) {
        $query->whereDate('date_init', '<', now());
    }])
    ->whereHas('details', function ($query) {
        $query->whereDate('date_init', '<', now());
    })
    ->get();
Master::withTrashed()
->使用(['details'=>函数($query){

$query->whereDate(‘date_init’,‘你有没有研究过
Where has
?@aynber是的,但我理解这是为了给关系增加限制,但如果条件为假,它不会停止显示主控信息,只显示空的细节。谢谢你的回答,但这不是我在问题中解释的,你的回答绝不会消除主控信息h计数等于0;实际上,它应该是
has('details')
,然后它确实消除了主机。您需要
whereHas('details',函数($query){$query->whereDate('date_init','
Master::withTrashed()
    ->with(['details' => function ($query) {
        $query->whereDate('date_init', '<', now());
    }])
    ->whereHas('details', function ($query) {
        $query->whereDate('date_init', '<', now());
    })
    ->get();