0

PHP 7.4.16 和 Laravel 8.61

我的代码中有以下代码Resource

   $arr = ['id' => $this->id, 'associations' => (object)[]];
   foreach ($tas as $ta) {
       $ta_id = $ta->id;
       $arr['associations']->$ta_id = ['suppliers' => [], 'offices' => []];
   }
   return $arr;

哪里$ta->id是整数。

当我打印Resource::collection一个项目的 时,我可以看到associations带有正确 id 的键正在打印。

0:
-> associations:
--> 2:
---> ['suppliers' => [], 'offices' => []]

但是,当我打印单个资源 ( new Resource(item)) 时,该associations数组将变为标准数组。

associations:
-> 0:
--> ['suppliers' => [], 'offices' => []]

为什么会这样?有什么解决方法吗?

4

1 回答 1

1

您只需要->toArray(null)像我之前尝试过的这个示例一样添加到您的资源中

BookingResource::collection($timeSlots)->toArray(null);
于 2021-10-03T14:39:52.540 回答