【问题标题】:Getting values from form into table (joomla)将值从表单获取到表中(joomla)
【发布时间】:2013-12-28 00:33:15
【问题描述】:

我正在学习 Joomla! 并且正在构建我的第一个组件。
我现在的问题是我有一个需要在数据库中存储数据的表单。
直到那时,一切都在正常工作。我的表单正在使用的表没有得到任何值。所以所有保存的都是NULL 值。

如何将表单字段中的值放入我的表格中?

我正在使用 Joomla 3.2

这是我不断收到的错误

Save failed with the following error: SQL=INSERT INTO `test_redbiz_note` () VALUES ()

代码:

controller

table

form

model

【问题讨论】:

  • 是的,我想这很重要 :) 我编辑了这个问题。
  • JRequest 已弃用,请查看:docs.joomla.org/Retrieving_request_data_using_JInput
  • 我不知道为什么除了在构造函数中提供前缀和数据库表名之外,您还要做其他任何事情,JTable 已经为数据库中与列名和 $table 匹配的每一列创建了属性->load($pk) 将加载您的行。
  • 所以我应该删除表类中的公共变量而不覆盖控制器中的保存功能?
  • 好吧,你应该只在出于某种原因需要时才覆盖......我只是没有看到你在那里做任何特别的事情,但也许我错过了。

标签: php joomla joomla-extensions joomla-component


【解决方案1】:

所以我找到了解决办法。

我仍然无法让 joomla 将表单值保存到表格中,所以我必须自己通过在我的控制器中覆盖 save() 来完成。

   public function save()
   {
        $table = $this->getModel()->getTable();
        $jinput = JFactory::getApplication()->input;
        $JinputFilteredData = $jinput->POST->get('jform','','array');
        $values = $JinputFilteredData["GroupOfFields"];
        $table->bind($values);
        $table->store();
        return;
    }

这似乎不是最好的解决方案...

【讨论】:

    猜你喜欢
    • 2023-03-27
    • 2015-10-10
    • 2021-11-15
    • 2021-09-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多