typo3 - Typo3 实例异常
问题描述
为什么我得到这个异常?
传递给 KRT\KrtJobs\Domain\Model\Jobs::setPlaces() 的参数 1 必须是 KRT\KrtJobs\Domain\Model\Places 的实例,给定字符串,在 /var/www/html/Newwebsite/typo3conf/ext 中调用/krt_jobs/Classes/Controller/JobsController.php 第 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']);
我想将数据插入作业数据库,但这些地方是从另一个表中调用的。因此,当我尝试插入时,我得到了上述异常。
我正在使用typo3版本7
有解决办法吗?
解决方案
你必须加载一个地方实例并设置它,错误说你不能设置字符串。
$places = $this->placesRepository->findByName($arguments['jobPlace']);
$job->setPlaces($places):
或类似的东西......你应该总是使用单数的领域模型,例如。“地方”。
推荐阅读
- flutter - NoSuchMethodError:类“结果”没有实例获取器“长度”
- python - 从损坏的 miniconda 升级到干净完整的 anaconda 发行版的正确方法是什么?
- linux - 为什么 Linux Shell 脚本中没有更新日期?
- swift - Swift 中 CGPoint 的数学运算
- math - 查找椭圆上的点的角度以在 GDI+ 中使用
- javascript - 无法使用 JSoup 和 Java 保存修改后的 HTML 文件
- performance - 是否可以在多个分区上分别并行运行 Deequ 异常检测
- laravel - 如何从表单中保存图片,然后使用 Laravel 将其显示到视图中?
- javascript - Jest expect exception not working with async
- sql - 从每 1 小时块中选择最小值