我正在尝试创建一个 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 响应,其中包含它所拥有的订单,并且购买属于该订单。
1 回答
守候你守候我
TA贡献1802条经验 获得超10个赞
DB:table
尝试直接使用模型,而不是用于查询:
Order::where('store_id', '=', $id)->get();
似乎DB:table
返回stdClass
对象,因此它缺少模型可能提供的所有虚拟属性。
- 1 回答
- 0 关注
- 165 浏览
添加回答
举报
0/150
提交
取消