TYPO3 6.2获取具有表值的属性

时间:2017-05-19 11:52:02

标签: properties mapping typo3 typo3-6.2.x

我有以下问题:当我使用具有不同映射的模型/存储库时,我没有获得任何属性和值。

我已映射存储库以从表sys_files获取数据。 我得到UID,我也得到了PID。不幸的是,我没有获得任何其他财产或价值。

My Repository是一个映射到sys_files的简单存储库。

不幸的是,我没有获得任何其他财产。

非常感谢。

格尔茨

3 个答案:

答案 0 :(得分:0)

您是否在ext_typoscript_setup.txt

中定义了映射
config.tx_extbase {
  persistence {
    classes {
      Vendor\Package\Domain\Model\MyModel {
        mapping {
          tableName = sys_file
        }
      }
    }
  }
}

您还需要在域模型中分配所需的字段。

namespace Vendor\Package\Domain\Model;

class MyModel
{
  /**
   * @var string
   */
  protected $identifier;

  public function getIdentifier()
  {
    return $this->identifier;
  }

  public function setIdentifier($identifier)
  {
    $this->identifier = $identifier;
  }
}

答案 1 :(得分:0)

model映射到table时,有一个核对清单:

1。在扩展根路径中创建ext_typoscript_setup.txt文件。

你必须编写以下代码:

config.tx_extbase{
    persistence {
        classes {
            YourModel.mapping{
                table = table_you_want_to_map
            }
        }     
    }
}

避免在backslash model

之前添加namespace

3. 从安装工具清除缓存。如果没有任何反应,请尝试删除typo3temp / autoload文件夹。

4. 模型中的字段应为camelCase。

模型中fieldfield_name的示例为fieldName

5. 检查模型中的吸气剂。

答案 2 :(得分:0)

好的,问题解决了 - 几乎。 我无法获取哈希值。我不知道为什么,但它是如何。 我得到除“identifier_hash”,“folder_hash”之外的每列的值。这些属性始终为NULL。

现在,当我添加新关系时,我只需要在我的数据库中创建一个新的file_reference记录。