我正在尝试创建一个 API 资源,我可以在其中查看来自三个表的响应构建。
店铺
命令
购买
目前,我可以使用路由 (api/store/orders) 去商店(有多个商店)并查看 JSON 响应中的订单。
回复
{
data: [
{
id: 1,
code: "1f",
status: "waiting",
user_name: "Salman",
created_at: "",
updated_at: ""
},
{
id: 2,
code: "2f",
status: "waiting",
user_name: "Jerome",
created_at: "",
updated_at: ""
}
]
}
但是,当我尝试将我的购买添加到响应中时:
namespace App\Http\Resources;
use Illuminate\Http\Resources\Json\JsonResource;
class Orderresource extends JsonResource
{
public function toArray($request)
{
return [
'id' => $this->id,
'code' => $this->code,
'status' => $this->status,
'user_name' => $this->user_name,
// Added purchases
'order' => $this->purchases,
'created_at' => (string) $this->created_at,
'updated_at' => (string) $this->updated_at,
];
}
}
我收到错误响应 Undefined property: stdClass::$purchases
现在我已经将购买添加到我的订单模型中:
public function purchases()
{
return $this->hasMany(Purchase::class);
}
但是,我知道订单可能取决于我的 show_order_per_store.
在我的功能 OrderController
public function show_order_per_club($id)
{
$order = DB::table('orders')->where('store_id', '=', $id)->get();
return Orderresource::collection($order);
}
现在,此函数获取所有类似商店的订单,但如何将购买添加到商店 API 响应中?
简而言之,我试图获得每个商店的 API 响应,其中包含它所拥有的订单,并且购买属于该订单。
守候你守候我