微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

十月 CMS - 在后端表单中使用嵌套的关系管理器

如何解决十月 CMS - 在后端表单中使用嵌套的关系管理器

我一直在关注 Samuel Georges 关于此事的教程:https://octobercms.com/support/article/ob-21。但是,在我的用例中,我有这些模型:

  • 基础章节模型 (Acme\Formist1\Models\Chapter)
  • 属于章节 (Acme\Formist1\Models\Quiz) 的测验
  • 属于测验 (Acme\Formist1\Models\Question) 的问题
  • 和属于问题 (Acme\Formist2\Models\Answer) 的答案

我需要更深一层,所以我稍微修改onCreateItem() 方法

    public function onCreateRecord()
    {
        $recordtype = post('record_type');

        $data = $recordtype == 'question'
            ? $this->questionFormWidget->getSaveData()
            : $this->answerFormWidget->getSaveData();

        $model = $recordtype == 'question'
            ? new Question
            : new Answer;
        $model->fill($data);
        $model->save();

        $parent = $this->getParentModel($recordtype);

        if($recordtype == 'question') {
            $parent->questions()->add($model,$this->questionFormWidget->getSessionKey());
        }
        else{
            $parent->answers()->add($model,$this->answerFormWidget->getSessionKey());
        }

        return $this->refreshRecordList($recordtype);
    }

基本上,我为 Answers 创建了另一个表单,但是该处理程序发生了一些奇怪的事情:推迟 Question 模型的关系绑定没有问题,但是每当我尝试验证 Answer 表单时,我都会收到一条错误消息我认为 foreign_key 没有认值,因此暗示 Answer 模型没有任何延迟绑定。

另外,如果您对此功能有更好的建议,请随时提交,我知道这个看起来不太漂亮。

提前感谢您的时间。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?