Files
animethemes-server/app/Actions/Http/Api/StoreAction.php
T
paranarimasu f326a1623d feat(api): add track store insert operations for doubly-linked list (#523)
* feat(api): add track store insert operations for doubly-linked list

* style: fix insert action phpdoc descriptions
2023-02-21 21:35:31 -06:00

46 lines
931 B
PHP

<?php
declare(strict_types=1);
namespace App\Actions\Http\Api;
use Illuminate\Database\Eloquent\Builder;
use Illuminate\Database\Eloquent\Model;
/**
* Class StoreAction.
*/
class StoreAction
{
/**
* Store model.
*
* @param Builder $builder
* @param array $parameters
* @return Model
*/
public function store(Builder $builder, array $parameters): Model
{
$model = $builder->create($parameters);
return $this->cleanup($model);
}
/**
* Perform model cleanup for presentation.
*
* @param Model $model
* @return Model
*/
public function cleanup(Model $model): Model
{
// Scout will load relations to refresh related search indices.
$model->unsetRelations();
// Columns with default values may be unset if not provided in the query string.
$model->refresh();
return $model;
}
}