diff --git a/app/Models/Transaction.php b/app/Models/Transaction.php index 0ac3df916e..22569dd484 100644 --- a/app/Models/Transaction.php +++ b/app/Models/Transaction.php @@ -26,6 +26,7 @@ use Carbon\Carbon; use Illuminate\Database\Eloquent\Builder; use Illuminate\Database\Eloquent\Model; use Illuminate\Database\Eloquent\SoftDeletes; +use Symfony\Component\HttpKernel\Exception\NotFoundHttpException; use Watson\Validating\ValidatingTrait; /** @@ -130,6 +131,25 @@ class Transaction extends Model return false; } + /** + * @param string $value + * + * @return Transaction + */ + public static function routeBinder(string $value): Transaction + { + if (auth()->check()) { + $transactionId = intval($value); + $transaction = auth()->user()->transactions()->where('transactions.id', $transactionId) + ->first(['transactions.*']); + if (!is_null($transaction)) { + return $transaction; + } + } + + throw new NotFoundHttpException; + } + use SoftDeletes, ValidatingTrait; /**