Php 尝试分配非对象Laravel 5.1的属性

Php 尝试分配非对象Laravel 5.1的属性,php,laravel,Php,Laravel,有人能告诉我为什么我会犯这个错误吗?一切正常,直到这开始:$ticket->used+=1我很清楚地找到了一张票证并将其存储在$ticket变量中,但为什么我不能操纵它并赋值呢 public function getTicket(TicketUserRequest $request) { $ticket = Ticket::where('code', '=', Input::get('code'))->count() > 0; if ($ticket)

有人能告诉我为什么我会犯这个错误吗?一切正常,直到这开始:
$ticket->used+=1
我很清楚地找到了一张票证并将其存储在
$ticket
变量中,但为什么我不能操纵它并赋值呢

   public function getTicket(TicketUserRequest $request)
   {

    $ticket = Ticket::where('code', '=', Input::get('code'))->count() > 0;
    if ($ticket) {

        $input['user_id'] = $request->user()->id;
        $input['code'] = $request->input('code');
        Auth::user()->balance += 50;
        Auth::user()->save();

        $ticket->used += 1;
        $ticket->save();

        TicketUser::create( $input );

        return redirect()->back();   

    }  

   }
$ticket
这里将是一个布尔值,而不是一个对象。其实质与此类似:

$count = 12;
$iAmABooleanVariable = $count > 0;
这将为您获取一个集合对象:

然后,您可以在测试中使用它来查看计数是否为0:

if($ticket->count() > 0) {
    // Do something
}
如果假设只有一张带有特定代码的票证,您可以这样做,并获得一个模型对象,您可以在尝试操作时直接对其进行操作:

$ticket = Ticket::where('code', '=', Input::get('code'))->first();

现在我得到了这个
未定义的属性:illumb\Database\Eloquent\Builder::$used
Np。仅供参考,如果没有找到与查询匹配的记录,我相信
first()
将返回
null
,因此您不必更改
if
测试
if($ticket->count() > 0) {
    // Do something
}
$ticket = Ticket::where('code', '=', Input::get('code'))->first();