Files
ticketbeast/app/Order.php
2016-11-19 19:30:13 -05:00

58 lines
1.0 KiB
PHP

<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Order extends Model
{
protected $guarded = [];
public static function forTickets($tickets, $email, $amount)
{
$order = self::create([
'email' => $email,
'amount' => $amount,
]);
foreach ($tickets as $ticket) {
$order->tickets()->save($ticket);
}
return $order;
}
public function concert()
{
return $this->belongsTo(Concert::class);
}
public function tickets()
{
return $this->hasMany(Ticket::class);
}
public function ticketQuantity()
{
return $this->tickets()->count();
}
public function cancel()
{
foreach ($this->tickets as $ticket) {
$ticket->release();
}
$this->delete();
}
public function toArray()
{
return [
'email' => $this->email,
'ticket_quantity' => $this->ticketQuantity(),
'amount' => $this->amount,
];
}
}