Typo3 实例异常
Typo3 Instance Exception
为什么我会收到此异常?
Argument 1 passed to KRT\KrtJobs\Domain\Model\Jobs::setPlaces() must
be an instance of KRT\KrtJobs\Domain\Model\Places, string given,
called in
/var/www/html/Newwebsite/typo3conf/ext/krt_jobs/Classes/Controller/JobsController.php
on line 96
这是我在控制器中的代码
if($arguments['jobSave']){
$addJobsInfo = GeneralUtility::makeInstance('KRT\krtJobs\Domain\Model\Jobs');
$addJobsInfo->setJobtitle($arguments['jobDesignation']);
$addJobsInfo->setCompany($arguments['jobCompany']);
$addJobsInfo->setPlaces($arguments['jobPlace']);
$this->jobsRepository->add($addJobsInfo);
$persistenceManager = $this->objectManager->get('TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager');
$persistenceManager->persistAll();
}
这是我的模特
/**
* Sets the Places
*
* @param \KRT\krtJobs\Domain\Model\Places $places
* @return void
*/
public function setPlaces(\KRT\krtJobs\Domain\Model\Places $places)
{
$this->places = $places;
}
我在这方面遇到错误
$addJobsInfo->setPlaces($arguments['jobPlace']);
我想将数据插入作业数据库,但这些地方是从另一个 table 调用的。因此,当我尝试插入时,出现了上述异常。
我正在使用 typo3 版本 7
有解决办法吗?
您必须加载地点实例并进行设置,错误提示您无法设置字符串。
$places = $this->placesRepository->findByName($arguments['jobPlace']);
$job->setPlaces($places):
或类似的东西...并且您应该始终以单数形式使用域模型,例如。 "Place".
为什么我会收到此异常?
Argument 1 passed to KRT\KrtJobs\Domain\Model\Jobs::setPlaces() must be an instance of KRT\KrtJobs\Domain\Model\Places, string given, called in /var/www/html/Newwebsite/typo3conf/ext/krt_jobs/Classes/Controller/JobsController.php on line 96
这是我在控制器中的代码
if($arguments['jobSave']){
$addJobsInfo = GeneralUtility::makeInstance('KRT\krtJobs\Domain\Model\Jobs');
$addJobsInfo->setJobtitle($arguments['jobDesignation']);
$addJobsInfo->setCompany($arguments['jobCompany']);
$addJobsInfo->setPlaces($arguments['jobPlace']);
$this->jobsRepository->add($addJobsInfo);
$persistenceManager = $this->objectManager->get('TYPO3\CMS\Extbase\Persistence\Generic\PersistenceManager');
$persistenceManager->persistAll();
}
这是我的模特
/**
* Sets the Places
*
* @param \KRT\krtJobs\Domain\Model\Places $places
* @return void
*/
public function setPlaces(\KRT\krtJobs\Domain\Model\Places $places)
{
$this->places = $places;
}
我在这方面遇到错误
$addJobsInfo->setPlaces($arguments['jobPlace']);
我想将数据插入作业数据库,但这些地方是从另一个 table 调用的。因此,当我尝试插入时,出现了上述异常。
我正在使用 typo3 版本 7
有解决办法吗?
您必须加载地点实例并进行设置,错误提示您无法设置字符串。
$places = $this->placesRepository->findByName($arguments['jobPlace']);
$job->setPlaces($places):
或类似的东西...并且您应该始终以单数形式使用域模型,例如。 "Place".