У меня есть эта структура базы данных
table tools table details
----------- -------------
id * id *
name balance_shoot
tool_id
Мне нужно получить счетчик tools
, у которого есть balance_shoot в tool_details
, который меньше или равен нулю (опасность) и больше нуля (сохранение). что-то вроде:
[
danger_count => 0,
save_count => 5
];
Я уже достиг этого:
public function index(Request $request){
$trans_date = date('Y-m-d');
$tools = Tool::select('id')
->whereHas(
'details' , function ($query) use ($trans_date){
$query->where('trans_date', $trans_date );
}
)
/*->with([
'details' => function ($query) use ($trans_date){
$query->where('trans_date', $trans_date );
}
])*/
->withCount([
'details as danger' => function ($query) use ($trans_date){
$query->where('trans_date', $trans_date )->where('balance_shoot', '<=', 0 );
},
'details as save' => function ($query) use ($trans_date){
$query->where('trans_date', $trans_date )
->where('balance_shoot', '>', 0 );
},
]);
return $tools->get();
}
И это вернуть это:
"tools": [
{
"id": 101,
"danger_count": "0",
"save_count": "1"
},
{
"id": 102,
"danger_count": "0",
"save_count": "1"
}
];
Как я могу получить эту структуру данных, но в одном возвращаемом результате ?? 1015 *