<?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; }); } }