Php 条令QueryBuilder未定义方法getQuery()
当我执行getMachineSettings方法时,我得到一个错误: 致命错误:未捕获错误:调用未定义的方法条令\DBAL\Query\QueryBuilder::getQuery $data是一个关联数组:Php 条令QueryBuilder未定义方法getQuery(),php,doctrine-orm,Php,Doctrine Orm,当我执行getMachineSettings方法时,我得到一个错误: 致命错误:未捕获错误:调用未定义的方法条令\DBAL\Query\QueryBuilder::getQuery $data是一个关联数组: $data['param'] = 'ip'; $data['value'] = '192.168.240.10'; 如果我将getQuery->getResult替换为execute,$result包含查询: 从ip=?的计算机中选择* 你知道为什么getQuery方法不被识别吗?就这么
$data['param'] = 'ip';
$data['value'] = '192.168.240.10';
如果我将getQuery->getResult替换为execute,$result包含查询:
从ip=?的计算机中选择*
你知道为什么getQuery方法不被识别吗?就这么做吧
$results = $qb->execute()->fetchAll();
忽略以下内容-它假设您使用的是ORM原则,而您的
您遇到的问题是,您使用的QueryBuilder对象不是ORM QueryBuilder,而是DBAL QueryBuilder
您需要使用EntityManager中的createQueryBuilder函数
然后,您可以使用select/from etc方法并获得可以运行的查询结果
$qb->getQuery()->getResult()
如果我要重写你的函数,我会这样写
public function getMachineSettings(string $field, string $value)
{
$qb = $this->entityManager->createQueryBuilder();
$qb->select('m')
->from('machine')
->where($field.' = :value');
$qb->setParameter('value', $value);
$results = $qb->getQuery()->getResult();
var_dump($result);
return $result;
}
然后您就知道函数需要两个参数才能运行,传递数组不会让您立即看到函数需要什么
$results = $qb->execute()->fetchAll();
忽略以下内容-它假设您使用的是ORM原则,而您的
您遇到的问题是,您使用的QueryBuilder对象不是ORM QueryBuilder,而是DBAL QueryBuilder
您需要使用EntityManager中的createQueryBuilder函数
然后,您可以使用select/from etc方法并获得可以运行的查询结果
$qb->getQuery()->getResult()
如果我要重写你的函数,我会这样写
public function getMachineSettings(string $field, string $value)
{
$qb = $this->entityManager->createQueryBuilder();
$qb->select('m')
->from('machine')
->where($field.' = :value');
$qb->setParameter('value', $value);
$results = $qb->getQuery()->getResult();
var_dump($result);
return $result;
}
那么你就知道这个函数需要两个参数,传递数组不会让您立即看到函数需要什么什么是$this->mysql?ManseUK-好问题:我希望看到完整的code@ManseUK我用$this->mysql@Angel115更新了我的答案-$results=$qb->execute->fetchAll;$this->mysql是什么?ManseUK-好问题:我想看看完整的code@ManseUK我用$this->mysql@Angel115更新了我的答案-$results=$qb->execute->fetchAll$结果=$qb->execute->fetchAll;工作正常。非常感谢您抽出时间来ManuseUK。$results=$qb->execute->fetchAll;工作正常。非常感谢你抽出时间来,马努塞。