У меня есть приложение Laravel, в котором есть объект Position, который создается с помощью формы.
class Position extends Model
{
protected $dispatchesEvents = [
'creating' => PositionCreating::class,
];
И это вызывает событие класса PositionCreating, которое я протестировал и которое корректно запускается. Основной код также работает, чтобы дать мне критерии успеха или неудачи
class PositionCreating
{
use Dispatchable, InteractsWithSockets, SerializesModels;
public function __construct(Position $position)
{
if (some_good_stuff())
{
//keep creating the object
} else {
//stop creating the object
}
}
Если это работает, это нормально, я просто позволю функции __construct () завершить выполнение, и все, включая код предварительного выполнения, который я хочу, работает отлично.
Но я не знаю, как на самом деле остановить создание объекта. Я, конечно, могу использовать функцию dd () или что-то еще (что работает и останавливает создание объекта, как и ожидалось), но я хочу представить читаемую ошибку пользователю в дружественной манере. Какие функции или команды я должен использовать, чтобы отменить создание объекта и вернуться к моему методу position.create?