php - 未捕获的 PHP 异常 Doctrine\ORM\Query\QueryException : "[Semantical Error] line?

标签 php mysql symfony doctrine-orm twig

我正在尝试在我们的 Web 应用程序项目中为被拒绝的交易页面创建一个搜索字段,我正在使用 symfony2 框架,我被卡住了,因为有一个错误说,

'[语义错误] 第 0 行,'b JOIN b.ediAk403ErrorCodes' 附近的第 235 列:错误:类 Matrix\MatrixEdiBundle\Entity\EdiTransaction 没有名为 edi997Details 的关联'

还有

'严重 - 未捕获的 PHP 异常 Doctrine\ORM\Query\QueryException:“[语义错误] 第 0 行,'b JOIN b.ediAk403ErrorCodes' 附近的第 235 列:错误:类 Matrix\MatrixEdiBundle\Entity\EdiTransaction 没有名为的关联edi997Details"在/tmxpage/apache/htdocsEDI/Editracker/vendor/doctrine/orm/lib/Doctrine/ORM/Query/QueryException.php 第 63 行 '

这是我的代码(在我的存储库中):

public function getDetails($gsNumber, $senderId, $receiverId, $page = 1, $limit = 5 ){

    $em = $this->getEntityManager();

    $query = $em->createQuery(

        'SELECT partial a.{ediTransactionId, senderId, receiverId, gsNumber, isaNumber, fileName },

        partial b.{errorCodeId, noOfTrans},

        partial c.{errorCode, condition}

        FROM MatrixEdiBundle:EdiTransaction a

        JOIN a.edi997Details b

        JOIN b.ediAk403ErrorCodes c

        WHERE b.errorCodeId != 1

        AND a.flag = 1

        AND a.gsNumber LIKE :gsNumber

        AND a.senderId LIKE :senderId

        AND a.recieverId LIKE :receiverId')

        ->setParameter('gsNumber', "%gsNumber%")

        ->setParameter('senderId', "%senderId%")

        ->setParameter('receiverId'ssss, "%receiverId%")

        ->setFirstResult(($page-1)*$limit)

        ->setMaxResults($limit);



        $paginator = new Paginator($query, $fetchJoinCollection = false );

        $paginator->setUseOutputWalkers(false);


    return $paginator;
}

这是我的 talble ediAk403ErrorCodes 实体代码:

class EdiAk403ErrorCodes
{
  /**
  * @var string
  *
  * @ORM\Column(name="condition", type="string", length=50,  nullable=false)
  */
 private $condition;

 /**
 * @var integer
 *
 * @ORM\Column(name="error_code", type="integer")
 * @ORM\Id
 * @ORM\GeneratedValue(strategy="IDENTITY")
 */
 private $errorCode;

 /**
 * Set condition
 *
 * @param string $condition
 * @return EdiAk403ErrorCodes
 */

 public function setCondition($condition)
 {
    $this->condition = $condition;

    return $this;
 }

 /**
 * Get condition
 *
 * @return string 
 */
 public function getCondition()
 {
    return $this->condition;
 }

 /**
 * Get errorCode
 *
 * @return integer 
 */
 public function getErrorCode()
 {
    return $this->errorCode;
 }

 /**
 * Get edi997Details
 *
 * @return \Matrix\MatrixEdiBundle\Entity\Edi997Details
 */
 public function getEdi997Details()
 {
    return $this->edi997Details;
 }

}

最佳答案

似乎您的实体类 EdiTransaction 与表 EdiAk403ErrorCodes 没有明确的原则关系。因此,尝试在 EdiTransaction 类中添加具有正确注释的字段定义,如下所示:

EdiTransaction

/**
 * @ORM\ManyToOne(targetEntity="Matrix\MatrixEdiBundle\Entity\Edi997Details", inversedBy="editTransactions")
 * @ORM\JoinColumn(name="edit_details_id", referencedColumnName="id")
 */
private $edi997Details;

希望对你有帮助

关于php - 未捕获的 PHP 异常 Doctrine\ORM\Query\QueryException : "[Semantical Error] line?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36707872/

相关文章:

php - PayPal-Response 不成功 : Express Checkout PayerID is missing - Symfony 2. 5 JMSPaymentPayPalbundle 和 JMSPaymentCoreBundle

php - 以字符串形式获取Symfony 2.7中的表单验证错误

php - MySQL触发器获取列名

php - 使用 jquery 解析 php 脚本返回的 JSON 字符串

php - 试图获取非对象的属性

php - 如何遍历一组动态表单输入并将它们插入到多个表中?

mysql - SQL 查询以获取另一个表中具有 X 计数的元素的 ID

php - 获取重复条目错误消息并在 if 语句中使用

mysql - Liferay SQL语法错误异常

php - 如何使用 Doctrine 或 Mysql 更新添加/替换整个数据库