6.9 - Respecting Reservations

This commit is contained in:
Adam Wathan
2016-11-20 20:10:15 -05:00
parent c3c80722f5
commit 79a26c77ed
4 changed files with 37 additions and 3 deletions

View File

@@ -58,7 +58,9 @@ class Concert extends Model
public function reserveTickets($quantity)
{
return $this->findTickets($quantity);
return $this->findTickets($quantity)->each(function ($ticket) {
$ticket->reserve();
});
}
public function findTickets($quantity)

View File

@@ -31,7 +31,7 @@ class ConcertOrdersController extends Controller
try {
// Find some tickets
$tickets = $concert->findTickets(request('ticket_quantity'));
$tickets = $concert->reserveTickets(request('ticket_quantity'));
$reservation = new Reservation($tickets);
// Charge the customer for the tickets

View File

@@ -11,7 +11,7 @@ class Ticket extends Model
public function scopeAvailable($query)
{
return $query->whereNull('order_id');
return $query->whereNull('order_id')->whereNull('reserved_at');
}
public function reserve()