В Laravel Я хочу получить всех клиентов, которые имеют отношения и где отношения соответствуют некоторым заданным параметрам. В настоящий момент режет возвращенные клиенты, которые соответствуют критериям отношений, а также клиенты с пустыми отношениями. Любая идея, как я могу получить только клиентов, которые соответствуют критериям отношений? Спасибо
$constraint = function($query){
$query->where('type', 'Sales')->where('fdate', '!=', '0000-00-00')->where('archive', 'n')->orderBy('fdate', 'asc')->limit(1);
};
$brands = Client::select('ccid')->whereHas('history', $constraint)->with(['history' => $constraint])->limit(10)->get();
return $brands;
Вот фрагмент полученных результатов. Клиент с пустым history
возвращать не должен.
{
"ccid": 31753,
"history": []
},
{
"ccid": 32061,
"history": [
{
"hid": 415471,
"ccid": 32061,
"uid": 18097,
"hdate": "2019-09-19",
"fdate": "2020-01-14",
"type": "Sales",
"archive": "n",
}
]
},
{
"ccid": 32194,
"history": []
},