<?php namespace App\View\Components\Widgets; use App\Abstracts\View\Component; class InvoiceHistory extends Component { public $contact; public $model; public $invoices; /** * Create a new component instance. * * @return void */ public function __construct( $model = false, $invoices = false, $contact = false ) { $this->contact = ! empty($contact) ? $contact : user()->contact; $this->model = $model; $this->invoices = $this->getPayment($model, $invoices); } /** * Get the view / contents that represent the component. * * @return \Illuminate\Contracts\View\View|string */ public function render() { return view('components.widgets.invoice_history'); } protected function getPayment($model, $invoices) { if (! empty($model)) { return $model; } if (! empty($invoices)) { return $invoices; } return $this->contact->invoices()->orderBy('created_at', 'desc')->limit(3)->get(); } }