创建扩展无效:Table 不存在

creating extension not working: Table does not exist

我是 typo3 CMS 的新手,我现在正在创建一个新的扩展,但是当我尝试从存储库执行查询时,我总是收到以下错误。

1247602160: Table 'hr.tx_hr_domain_model_job' doesn't exist

这是我的控制器

<?php
namespace Hr\Hr\Controller;

class HrController extends \TYPO3\CMS\Extbase\Mvc\Controller\ActionController
{

    protected $jobsRepository;
    protected $objectManager;

    public function initializeAction()
    {
        parent::initializeAction();

        $this->objectManager  = \TYPO3\CMS\Core\Utility\GeneralUtility::makeInstance('TYPO3\CMS\Extbase\Object\ObjectManager');
        $this->jobsRepository = $this->objectManager->get('Hr\Hr\Domain\Repository\JobRepository');
    }

    /**
     * jobs list
     *
     * @return void
     */
    public function listAction()
    {
        $this->view->assign('jobs', $this->jobsRepository->findAll());
    }

}

这是工作资料库class

<?php

namespace Hr\Hr\Domain\Repository;

class JobRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
{

}

这是ext_tables.sql文件的内容

#
# Table structure for table 'tx_hr_job'
#

CREATE TABLE IF NOT EXISTS `tx_hr_job` (
  `JobId` int(10) NOT NULL,
  `Kunde` varchar(255) NOT NULL,
  `Titel` varchar(255) NOT NULL,
  `Ort` varchar(255) NOT NULL,
  `Volltext` text NOT NULL,
  `Bundesland` varchar(255) NOT NULL,
  `Region` varchar(255) NOT NULL,
  `Branche` varchar(255) NOT NULL,
  `Berufsgruppe` varchar(255) NOT NULL,
  `Stellenart` varchar(255) NOT NULL,
  `Datum` date NOT NULL,
    PRIMARY KEY (`JobId`)
);

有什么帮助吗?

按照惯例,table 名称应该是 tx_hr_domain_model_job,或者您可以使用 table 映射,但这可能很棘手。

使用 extension_builder 启动您的分机 - 它是创建基本模型的好工具,您只需拖放即可完成 - 还有关系等。

更重要的是,它将创建所有必需的代码片段、模型、存储库 TCA 配置等,因此您会看到什么是最有效的方法。