вот небольшая партия записей из MySQL 8 с полем JSON
id, cmd_json, reg_day
(
1,
'[
{"id": 1, "qty": 1, "tax": 2, "ref": "art 1", "price": 100},
{"id": 2, "qty": 1, "tax": 1, "ref": "art 2", "price": 10}
]',
'2019-10-29'
),
(
2,
'[
{"id": 1, "qty": 1, "tax": 2, "ref": "art 3", "price": 12}
]',
'2019-10-29'
);
Я хочу получить суммы записей с налогом 1 и налогом 2
Вот мойподход, но результат неправильный
$q_t1s = Model::where('reg_day', $date)->where('cmd_json', 'like', '%"tax": 1%')->get();
$sumT1 = 0;
foreach ($q_t1s as $q_t1):
$t1s = $q_t1->cmd_json;
foreach ($t1s as $t1):
$sumT1 += ($t1['qty'] * $t1['price']);
endforeach;
endforeach;
dd($sumT1);
Я кодирую с Laravel 6
Если вы можете помочь мне найти решение, спасибо