【问题标题】:Laravel collection queryingLaravel 集合查询
【发布时间】:2021-02-23 18:29:55
【问题描述】:

我已经编写了一个查询来获取结果集合,我添加了一个检查来说明记录是否包含此字段隐藏 ID 为 2 的记录。

控制器方法

  $purchasedProducts = $user->products()->where('purchased', 1);
        if ($user->products()->where('includes_bonus', 1)->first()) {
            $purchasedProducts->where('benefits.id', '!=', 2);
        }

        $purchasedProducts->get();

刀片

在这里我写出了要在刀片中显示的 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">

你能看出我哪里出错了吗?

【问题讨论】:

  • 您从未执行过您使用 $purchasedProducts 构建的查询,它仍然是构建器,而不是结果
  • 我将如何修改上述内容您介意提供答案吗?

标签: laravel eloquent laravel-blade


【解决方案1】:

您没有将查询结果分配给任何东西,您只是在正在构建的查询上调用get(),但没有对返回的结果做任何事情。也许将它分配给一个变量:

$purchasedProducts = $purchasedProducts->get();

【讨论】:

    猜你喜欢
    • 2019-02-05
    • 2016-12-15
    • 1970-01-01
    • 2018-08-28
    • 2019-01-04
    • 2015-09-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多