2016-02-09 60 views
1

有人可以告訴我爲什麼我得到這個錯誤嗎?一切正常,直到開始:$ticket->used += 1;我明確找到一張票並將其存儲在$ticket變量中,但爲什麼我無法操作它並分配值?嘗試分配非對象Laravel 5.1的屬性

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(); 

    } 

    } 

回答

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

$ticket這裏將是一個布爾值,而不是一個對象。它是在物質與此類似:

這將讓你一個集合對象:

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

然後你就可以在測試中使用,以查看是否計數爲0:

if($ticket->count() > 0) { 
    // Do something 
} 

如果只應該是一個特定代碼的票證,您可以這樣做,並得到一個模型對象,您可以直接控制和操縱,你想要做的事:

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

現在,我得到這個'未定義的屬性:照亮\數據庫\雄辯\生成器:: $ used' –

+0

看我的更新,忽略添加' - > get()' –

+0

Works!謝謝! –

相關問題