Приветствую.
В проекте практикуется следующая структура файлов.
Restaurant
-- Entity
-- UseCase
---- Create
------ Command.php
------ Handler.php
---- Edit
...
Контроллер кладет заполненный Command в Handler
кратко:
в Command это:
public $name;
public $image; // $request->file('image');
__constructor($name, $image = null) {}
}
в Hanler это
function handle(Command $command) {
$this->model->register($command->name);
$command->image ???
}
в Модели это
function register($name) {
$restaurant = new static();
$restaurant->name = $name;
$restaurant->save();
}
Меня интересует где тут более корректно выполнить загрузку файла и обновить в базе $restaurant->image;
Есть мысли сделать это в контроллере, либо в хэндлере, но в то же время думаю, верно ли выполнять лишний запрос в бд чтобы обновить поле image. Либо в model->register использовать make а в Handler ->save() и в нем же организовать загрузку файла, но подход кажется cомнитльным.
Подскажите пожалуйста более грамотное и корректное решение.