php - 教义 ORM:未定义的偏移量 2
问题描述
我正在处理从数据库中获取一些结果的请求,但我有一个错误,我不知道如何解决它
在我的存储库中:
public function findBySearchField($salary, $contract, $experience, $training)
{
return $this->createQueryBuilder('a')
->andWhere('a.salary = :sal')
->setParameter('sal', $salary)
->andWhere('a.contract = :con')
->setParameter('con', $contract)
->andWhere('a.experience = :exp')
->setParameter('exp', $experience)
->andWhere('a.training = :tra')
->setParameter('tra', $training)
->orderBy('a.postedAt', 'DESC')
->getQuery()
->getResult()
;
}
在我的控制器中:
public function index(Request $request, AdvertRepository $advertRepository): Response
{
$form = $this->createForm(ResearchType::class);
$form->handleRequest($request);
if ($request->getMethod() == 'POST') {
$salary = $form->get('salary')->getData();
$contract = $form->get('contract')->getData();
$experience = $form->get('experience')->getData();
$training = $form->get('training')->getData();
return $this->render('advert/index.html.twig', [
'form' => $form->createView(),
'adverts' => $advertRepository->findBySearchField(
['salary' => $salary],
['contract' => $contract],
['experience' => $experience],
['training' => $training]
),
]);
}
return $this->render('advert/index.html.twig', [
'form' => $form->createView(),
'adverts' => $advertRepository->findAll(),
]);
}
我有一个错误“注意:未定义的偏移量:2”
但是,当我在 phpMyAdmin 中提出此请求时,它会返回我正在寻找的内容
解决方案
感谢您的反馈,我找到了解决方案,在我的方法 findBySearchField 中,我给出了数组而不是变量。此解决方案有效:
public function index(Request $request, AdvertRepository $advertRepository): Response
{
$form = $this->createForm(ResearchType::class);
$form->handleRequest($request);
if ($request->getMethod() == 'POST') {
return $this->render('advert/index.html.twig', [
'form' => $form->createView(),
'adverts' => $advertRepository->findBySearchField(
$salary = $form->get('salary')->getData(),
$contract = $form->get('contract')->getData(),
$experience = $form->get('experience')->getData(),
$training = $form->get('training')->getData()
),
]);
}
return $this->render('advert/index.html.twig', [
'form' => $form->createView(),
'adverts' => $advertRepository->findAll(),
]);
}
推荐阅读
- c++ - Kotlin - 写入未指定类型流的函数
- python - 在线性规划问题中将约束设置为百分比
- html - 如何为照片添加标题
- ios - UICollectionView:滚动时为单元格设置动画
- php - Laravel 护照不会创建用户
- r - 如何在 R(ggforce)中的 Sankey 图中调整高度和间距?
- javascript - 禁用按钮在 if-else 中不起作用,但在没有 if-else 的情况下起作用
- ansible - 尝试将“命令:sudo ...”更改为具有成为的模块时出现 Ansible 错误
- powerbi - Power BI:返回两个日期之间每个交易对手及其几种货币的数值数据总和及其变化
- r - 使本地数据集可全局访问