【发布时间】:2023-01-12 09:23:06
【问题描述】:
如何从另一个表中获取数据?
// ServiceComplexController
public function index(Store $store): JsonResponse
{
/* @var User $user */
$user = auth()->user();
$this->listQuery = $user->store->serviceComplexes()->getQuery();
return response()->json([
'data' => StoreServiceComplexResource::collection($this->listQuery->get()),
]);
}
// StoreServiceComplexResource
public function toArray($request): array
{
return [
'id' => $this->id,
'name' => $this->name,
'description' => $this->description,
'base_service_ids' => $this->base_service_ids,
'more_service_ids' => $this->more_service_ids,
];
}
// Dump $this->listQuery->get()
array (
0 =>
array (
'id' => 3,
'name' => 'Complex 1',
'description' => 'Desc complex 1',
'base_service_ids' =>
array (
0 => 1,
1 => 2,
),
'more_service_ids' =>
array (
0 => 10,
),
),
)
如何根据字段“base_service_ids”和“more_service_ids”从另一个表(服务)获取基本服务并将它们添加到响应中?
是否也可以通过 Collection Resource 提供这些数据?例如
// StoreServiceComplexResource
public function toArray($request): array
{
return [
...
'service' => [] //StoreServiceResource::collection() ....
...
];
}
【问题讨论】:
标签: laravel eloquent laravel-8