如何在 Laravel 7 中获取每个用户的订单详细信息
How to Get Order Details per a single User in Laravel 7
我正在使用 Laravel 7 制作一个多供应商电子商务网站。我正在尝试创建一个订单历史记录页面,其中单个用户只能查看 his/her 个自己的订单。我在我的 OrderHistoryController 上构建查询时遇到问题。这些是我控制器上的代码:
$users = User::get();
$orders = Order::find($users);
return view('order-history', compact('orders'));
我正在尝试在我的 blade 文件上循环 $orders。我有:
@foreach ($orders as $order)
<div>{{ $order->id}}</div>
<div>{{ $order->grand_total}}</div>
@endforeach
我正在尝试将订单 ID 和订单总计传递给我的视图。我没有收到任何错误,但它显示了来自不同客户的不同订单详细信息。我该怎么做?
您应该使用 MySQL(或您正在使用的任何其他数据库)table 关系和外键。
因此,您的订单 table 应包含 id
、user_id
、date
等列。重要的是 user_id
列。您想将该列设为 foreign key. That basically means that user_id
will hold an id
value from another table, in this case user. See how to make foreign key columns in laravel migrations here.
接下来是使用 Laravel 的内置模型关系。您可以阅读更多关于它们的信息 here。基本上,在你的订单模型中你想要一个函数 user
which returns $this->belongsTo(App\Models\User::class)
而在你的用户模型中你想要一个函数 orders
which returns $this->hasMany(App\Models\Order::class)
(或两者的命名空间)。
这样,您可以调用 $user->orders
并获得 Order
个模型的集合,其中仅包含该特定用户的订单。
一定要仔细阅读文档,先了解框架的基本概念以及关系数据库的功能!
只需通过谷歌搜索或阅读 Laravel 或您计划使用的任何其他框架的文档,您就可以获得大量此类信息!祝学习顺利:)
我正在使用 Laravel 7 制作一个多供应商电子商务网站。我正在尝试创建一个订单历史记录页面,其中单个用户只能查看 his/her 个自己的订单。我在我的 OrderHistoryController 上构建查询时遇到问题。这些是我控制器上的代码:
$users = User::get();
$orders = Order::find($users);
return view('order-history', compact('orders'));
我正在尝试在我的 blade 文件上循环 $orders。我有:
@foreach ($orders as $order)
<div>{{ $order->id}}</div>
<div>{{ $order->grand_total}}</div>
@endforeach
我正在尝试将订单 ID 和订单总计传递给我的视图。我没有收到任何错误,但它显示了来自不同客户的不同订单详细信息。我该怎么做?
您应该使用 MySQL(或您正在使用的任何其他数据库)table 关系和外键。
因此,您的订单 table 应包含 id
、user_id
、date
等列。重要的是 user_id
列。您想将该列设为 foreign key. That basically means that user_id
will hold an id
value from another table, in this case user. See how to make foreign key columns in laravel migrations here.
接下来是使用 Laravel 的内置模型关系。您可以阅读更多关于它们的信息 here。基本上,在你的订单模型中你想要一个函数 user
which returns $this->belongsTo(App\Models\User::class)
而在你的用户模型中你想要一个函数 orders
which returns $this->hasMany(App\Models\Order::class)
(或两者的命名空间)。
这样,您可以调用 $user->orders
并获得 Order
个模型的集合,其中仅包含该特定用户的订单。
一定要仔细阅读文档,先了解框架的基本概念以及关系数据库的功能! 只需通过谷歌搜索或阅读 Laravel 或您计划使用的任何其他框架的文档,您就可以获得大量此类信息!祝学习顺利:)