有人可以告诉我为什么我会收到此错误吗?一切正常,直到开始:$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();
}
}
答案 0 :(得分:1)
$ticket = Ticket::where('code', '=', Input::get('code'))->count() > 0;
$ticket
这里将是一个布尔值,而不是一个对象。它的实质与此类似:
$count = 12;
$iAmABooleanVariable = $count > 0;
这将为您提供集合对象:
$ticket = Ticket::where('code', '=', Input::get('code'))->get();
然后您可以在测试中使用它来查看计数是否为0:
if($ticket->count() > 0) {
// Do something
}
如果只包含具有特定代码的一个票证,您可以执行此操作并获取一个模型对象,您可以在尝试时直接操作该对象做:
$ticket = Ticket::where('code', '=', Input::get('code'))->first();