<?php

/**
 * Add eloquent queries single(), singleOrNew()
 */
namespace App\Traits;

use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\ModelNotFoundException;

trait Single
{
	private static function bootSingle(): void
	{
		// When a query should return 1 object, or NULL if it doesnt
		Builder::macro('single',function () {
			$result = $this->get();

			if ($result->count() === 1)
				return $result->first();

			return NULL;
		});
	}
}