Laravel collection 正在查询
Laravel collection querying
我已经编写了一个查询来获取 collection 个结果,我添加了一个检查来判断记录是否包含此字段隐藏 ID 为 2 的记录。
控制器方法
$purchasedProducts = $user->products()->where('purchased', 1);
if ($user->products()->where('includes_bonus', 1)->first()) {
$purchasedProducts->where('benefits.id', '!=', 2);
}
$purchasedProducts->get();
Blade
在这里我编写了要在 blade.
中显示的 foreach 循环
@foreach($purchasedProducts as $product)
<div class="col-xl-6 p-0 p-xl-4 mb-5 mb-xl-0">
<form action="{{route('cancel.product', $product->id)}}" method="POST">
@csrf
收到错误
Trying to get property 'id' of non-object
<form action="<?php echo e(route('cancel.product', $product->id)); ?>" method="POST">
你能看出我错在哪里吗?
您尚未将查询结果分配给任何内容,您只是对正在构建的查询调用 get()
,但未对返回结果执行任何操作。也许将它分配给一个变量:
$purchasedProducts = $purchasedProducts->get();
我已经编写了一个查询来获取 collection 个结果,我添加了一个检查来判断记录是否包含此字段隐藏 ID 为 2 的记录。
控制器方法
$purchasedProducts = $user->products()->where('purchased', 1);
if ($user->products()->where('includes_bonus', 1)->first()) {
$purchasedProducts->where('benefits.id', '!=', 2);
}
$purchasedProducts->get();
Blade
在这里我编写了要在 blade.
中显示的 foreach 循环 @foreach($purchasedProducts as $product)
<div class="col-xl-6 p-0 p-xl-4 mb-5 mb-xl-0">
<form action="{{route('cancel.product', $product->id)}}" method="POST">
@csrf
收到错误
Trying to get property 'id' of non-object
<form action="<?php echo e(route('cancel.product', $product->id)); ?>" method="POST">
你能看出我错在哪里吗?
您尚未将查询结果分配给任何内容,您只是对正在构建的查询调用 get()
,但未对返回结果执行任何操作。也许将它分配给一个变量:
$purchasedProducts = $purchasedProducts->get();