为了账号安全,请及时绑定邮箱和手机立即绑定

3 个表 Laravel 之间的关系

3 个表 Laravel 之间的关系

PHP
慕工程0101907 2021-07-13 15:02:16
我正在尝试创建一个 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对象,因此它缺少模型可能提供的所有虚拟属性。


查看完整回答
反对 回复 2021-07-16
  • 1 回答
  • 0 关注
  • 165 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信