展示评论的评价时间报错

报错

展示评论的评价时间有问题

mysql 数据

展示评论的评价时间有问题

具体代码

public function sendReview(Order $order, SendReviewRequest $request)
    {
        $this->authorize('own', $order);

        if (! $order->paid_at) {
            throw new InvalidRequestException('该订单未支付,不可评价');
        }
        // 判断是否已经评价
        if ($order->reviewed) {
            throw new InvalidRequestException('该订单已评价,不可重复提交');
        }

        $reviews = $request->input('reviews');
        // 开启事务
        \DB::transaction(function () use ($reviews, $order) {

            foreach ($reviews as $review) {
                $orderItem = $order->items()->find($review['id']);
                // 保存评分和评价
                $orderItem->update([
                    'rating' => $review['rating'],
                    'review' => $review['review'],
                    'reviewed_at' => Carbon::now(),
                ]);
            }

            // 将订单标记为已评价
            $order->update(['reviewed' => true]);
            event(new OrderReviewed($order));
        });

        return redirect()->back();
    }
《L01 基础入门》
我们将带你从零开发一个项目并部署到线上,本课程教授 Web 开发中专业、实用的技能,如 Git 工作流、Laravel Mix 前端工作流等。
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
leo
最佳答案

@Jarvis42 说明你当时建表的语句错了。

4年前 评论
讨论数量: 4

你应该看看show.blade.php的$data变量
因为这个变量不存在 导致找不到这个变量

4年前 评论

@lyxxxh show.blade.php 文件里当展示 {{ $review->reviewed_at }} 就会报上面这个错,注释掉就不会报错。就是我搞不懂为什么我的 Carbon::now() 里只有小时分钟,没有年月日。

4年前 评论
leo

@Jarvis42 说明你当时建表的语句错了。

4年前 评论

@leo 的确是自己的疏忽,字段是 time() 类型,而教程的是 timestamp() 类型。

4年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!