I'm new in typo3 CMS and I'm now creating a new extension but I always get the following error when I try to execute query from repository.
1247602160: Table 'hr.tx_hr_domain_model_job' doesn't exist
this is my controller
<?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());
}
}
and this is job repository class
<?php
namespace Hr\Hr\Domain\Repository;
class JobRepository extends \TYPO3\CMS\Extbase\Persistence\Repository
{
}
this is the content of ext_tables.sql file
#
# 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`)
);
any help?
By convention the table name should be
tx_hr_domain_model_job
, alternatively you can use table mapping, but it could be tricky.Use the
extension_builder
for kickstarting your ext - it's great tool for creating basic models, you can do it just with drag'n'drop - also relations, etc.What's more important it will create all required pieces of code, models, repositories TCA configs etc so you'll see what's the most valid approach.