Я пытаюсь создать агентство по прокату автомобилей, и в бэкэнде я хочу иметь возможность устанавливать ставки. Однако есть два разных (но связанных) способа сделать это, либо по отдельной дате, либо по массе, выбрав диапазон дат и пройдя по отдельным датам.
В контроллере для этого определены два действия: calendar()
и bulk()
соответственно. Я также выбираю файл формы yaml для загрузки, устанавливая открытое свойство $formConfig
. Мой контроллер выглядит примерно так:
class AvailableCars extends Controller
{
public $formConfig = 'config_form.yaml';
public function bulk($recordId = null, $context = null)
{
$this->pageTitle = "Bulk update rates";
$model = $this->formFindModelObject($recordId);
$this->initForm($model);
}
public function calendar($recordId = null, $context = null)
{
$this->pageTitle = "Update rates for single date on calendar";
$model = $this->formFindModelObject($recordId);
$this->initForm($model);
}
public function onSave($recordId = null, $context = null)
{
$this->formFindModelObject($recordId)->save();
Flash::success("Rates saved successfully");
}
}
Проблема в том, что это работает для одного действий, однако, если я поставлю, например:
$this->formConfig = 'alternate_fields.yaml';
в любом из методов bulk()
или calendar()
он не переопределяет поведение и загружает другой файл конфигурации формы yaml;и даже выдает ошибку, если он не был ранее определен как свойство класса. Таким образом, я могу предположить, что этот файл yaml загружается до , либо любой из этих методов вызывается.
Итак, мой вопрос, есть ли способ загрузить динамический formConfig
файл yaml, основанный на точке входа? Или это даже хорошая практика в Laravel / October или каждый контроллер должен нести ответственность только за одну вещь и иметь только один способ создания / чтения / обновления / уничтожения модели?