Laravel错误:“undefined property:illuminate \database \eloquent \ collection :: $ price” [英] Laravel error: "undefined property: illuminate\database\eloquent\collection::$price"

查看:130
本文介绍了Laravel错误:“undefined property:illuminate \database \eloquent \ collection :: $ price”的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

你好,



我正在开发一个由Laravel开发的小网站,由其他开发人员离开,我必须得到它运行。它应该是可行的,但我安装并设置了新的和干净的数据库。现在,当我尝试访问网站的支付系统并进行购买时,我收到此错误。



这是相关代码:



Hello there,

I'm working on a little website which was developed in Laravel by another developer, who has left and I've got to get it functioning. It was supposed to be working, but I installed and set it up, with new and clean databases. Now I'm getting this error when I try to access the website's payment system and make a purchase.

This is the relevant code:

/home/myproject/myproject-website-master/app/Http/Controllers/PaymentsController.php
            'ticket' => 'required',
            'stripeToken' => 'required'
        ]);
 
 
        $event = Event::where('event_token', request('event-token'))->firstOrFail();
        $remainingTickets = $event->tickets - $event->sold_tickets;
 
        $bus = BusLine::where('origin', $request->bus)->get();
        $count = ( request('ticket')+0 >= 1 ) ? request('ticket')+0 : 1;
        $extra = 0;
 
        if ($remainingTickets < $request->ticket) {
            session()->flash('status', 'danger');
            session()->flash('message', 'OOOPS! It\'s seems that we are officially sold out. Sorry, se you next time!');
            return redirect()->back()->withInput();
        }
 
        // ADD THE TAX
        $price = ($event->price + $bus->price) * $count;
 
 
        // Generate new user if not exists
        $exists = Customer::where('email', request('email'))->first();
 
        // if the user doesn't exists then create a new customer
        if (!count($exists)) {
            // Create the customer
            $customer = StripeCustomer::create([
                'email' => request('email'),
                'source' => request('stripeToken')
            ]);





我有什么想法可以解决这个问题吗?



任何帮助表示感谢,谢谢非常好!



我尝试了什么:



尝试改变获得()到first(),但最终给出错误试图获取非对象的属性

推荐答案

事件= Event :: where('event_token',request('event-token')) - > firstOrFail();
event = Event::where('event_token', request('event-token'))->firstOrFail();


remainingTickets =
remainingTickets =


event-> ticket -
event->tickets -


这篇关于Laravel错误:“undefined property:illuminate \database \eloquent \ collection :: $ price”的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆