【发布时间】:2019-10-12 20:36:16
【问题描述】:
我正在尝试建立一家汽车租赁公司,并且我希望能够在后端设置费率。但是,有两种不同(但相关)的方法可以通过单个日期或批量方式来执行此操作,方法是选择日期范围并循环遍历各个日期。
在控制器中,我定义了两个操作来执行此操作,分别是 calendar() 和 bulk()。我还通过设置 $formConfig 公共属性来选择要加载的表单字段 yaml 文件。我的控制器看起来像这样:
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 中是不是很好,或者每个控制器应该只负责做一件事,并且只有一种方法来创建/读取/更新/销毁模型?
【问题讨论】:
标签: php laravel octobercms octobercms-backend