以下代码在Laravel框架中进行编码:
查询
$shipping = DB::table('shipping')->where('country',$delivery->country)->first();
$data= json_decode(json_encode($shipping),true);
结果
array (
'id' => 3,
'carrier' => 'EN',
'country' => 'AU',
'rates_json' => '{"rates": [{"international": [{"zone4": [{"to_kg": "2", "total": "1", "from_kg": "1"}, {"to_kg": "4", "total": "2", "from_kg": "3"}]}]}]}',
)
在MySQL数据库中,我将“ rates_json”存储在“ JSON”数据类型列中。属性“ from_kg”和“ to_kg”是一个范围。
如果值在范围之间,我打算检索总数。例如,如果值1.5在1和2之间,则总数为1。
感谢您的帮助。
谢谢。
答案 0 :(得分:2)
由于您的问题不清楚,
我只能给您一个提示,您可以做什么。
foreach (json_decode($data['rates_json'])->rates as $rates) {
foreach ($rates->international as $international) {
foreach ($international->zone4 as $zone) {
if ($zone->from_kg <= $zone->total && $zone->total <= $zone->to_kg)
{
// do whatever you want here.
dump($zone->total);
}
}
}
}
请让我知道任何调整。