将 whereHas 中的值与父数据进行比较

Jer*_*emy 0 laravel eloquent

我试图where在 a 中使用whereHas并将此条件与父元素的值进行比较。

\n

具体来说,我有一个events表,我想将事件的结束日期与元素的结束日期进行比较health_items

\n
Event::where('team_id', Auth::user()->currentTeam->id)\n           ->whereHas('animals', function ($query) use ($decodedId) {\n              $query->where('animals.id', $animal_id)\n           ->whereHas('health_items', function ($query) {\n       $query->where('date_end', 'events.end');\n    });\n })\n
Run Code Online (Sandbox Code Playgroud)\n

在我的解决方案中,该解决方案不起作用,我尝试访问我的 \xca\xbbevents table using \xca\xbbevents.end

\n

mrh*_*rhn 5

你的问题是你断言它date_end等于 string events.endwhereColumn()代替使用。

Event::where('team_id', Auth::user()->currentTeam->id)
    ->whereHas('animals', function ($query) use ($decodedId) {
        $query->where('animals.id', $animal_id)
            ->whereHas('health_items', function ($query) {
                $query->whereColumn('date_end', 'events.end');
            });
    });
Run Code Online (Sandbox Code Playgroud)