Files
StocksNew/vendor/spatie/laravel-ignition/src/ArgumentReducers/ModelArgumentReducer.php
Sampanna Rimal 53c0140f58 first commit
2024-08-27 17:48:06 +05:45

25 lines
745 B
PHP

<?php
namespace Spatie\LaravelIgnition\ArgumentReducers;
use Illuminate\Database\Eloquent\Model;
use Spatie\Backtrace\Arguments\ReducedArgument\ReducedArgument;
use Spatie\Backtrace\Arguments\ReducedArgument\ReducedArgumentContract;
use Spatie\Backtrace\Arguments\ReducedArgument\UnReducedArgument;
use Spatie\Backtrace\Arguments\Reducers\ArgumentReducer;
class ModelArgumentReducer implements ArgumentReducer
{
public function execute(mixed $argument): ReducedArgumentContract
{
if (! $argument instanceof Model) {
return UnReducedArgument::create();
}
return new ReducedArgument(
"{$argument->getKeyName()}:{$argument->getKey()}",
get_class($argument)
);
}
}