我有 2 张桌子:
Services
id | name | ...
Prices
id | service_id | day | time | price
一项服务可以有多个价格(按周中的一天和一天中的时间)。
当我尝试获取我的对象并将其转换为数组时,这就是它现在的样子:
$service = Service::with('prices')->find(1);
array
'id' => string '1'
'name' => string 'Test'
'prices' =>
array
0 =>
array (size=7)
'id' => string '1'
'service_id' => string '1'
'day' => string '1'
'time' => string '0'
'price' => string '50.00'
1 =>
array (size=7)
'id' => string '2'
'service_id' => string '1'
'day' => string '1'
'time' => string '1'
'price' => string '50.00'
...
我想让这个服务对象看起来像这样:
array
'id' => string '1'
'name' => string 'Test'
'prices' =>
array
1 => array
'0' => '100.00'
'1' => '100.00'
...
'23' => '450.00'
2 => array
'0' => '100.00'
'1' => '100.00'
...
'23' => '450.00'
换句话说,我希望我的关系返回第一个包含天数(1-7)的数组,并且每一天都是当天时间(0-23)的数组。
这样做的最佳做法是什么?