如何解决Laravel雄辩的不要得到多对多关系模型
[] [1]我们可以通过访问帖子“动态属性”来检索评论的帖子模型
我有一个Posts
桌子
我的订单模型
class Order extends Model
{
protected $table = 'orders';
protected $fillable = ['user_id','billing_phone','billing_address','payment_method','payment_status','product_id','order_status'];
}
public function products()
{
return $this->belongsToMany(Product::class,'order_product','order_id','product_id');
}
}
我的web
路线
Route::get('get-orders',function() {
$orders = \App\Models\Order::all();
foreach ($orders as $order) {
foreach ($order->products as $product) {
echo 'ID: ' . $product->name;
}
}
});
现在我要获取订单及其产品,这是什么问题?
当我到期并转储时,这是重新调整的结果 [1]:https://i.stack.imgur.com/IaqEv.png
解决方法
尝试以更好的性能。
Order.php
模型:
class Order extends Model
{
protected $table = 'orders';
protected $fillable = [
'user_id','billing_phone','billing_address','payment_method','payment_status','product_id','order_status'
];
public function products()
{
return $this->belongsToMany(
Product::class,'order_product','order_id','product_id'
);
}
}
web.php
路由文件:
Route::get('get-orders',function() {
//use eager load here,better performance.
$orders = \App\Models\Order::with('products')->get();
foreach ($orders as $order) {
foreach ($order->products as $product) {
echo 'ID: ' . $product->name;
}
}
});
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。