簡體   English   中英

我如何在教義querybuilder的where子句中傳遞整數變量

[英]how can i pass integer variable inside where clause in doctrines querybuilder

我是新的ORM理論。 我將Codeigniter框架與學說一起使用時出現此錯誤

A PHP Error was encountered
Severity: Warning
Message: get_class() expects parameter 1 to be object, integer given
Filename: Expr/Base.php
Line Number: 92

當我嘗試在模型函數中插入整數變量作為參數時

public function selectsingle($id){
    $qb = $this->em->createQueryBuilder();
    $query = $qb->select('p.name', 'p.email', 'p.subject', 'p.message')
            ->from('PdContact', 'p')
            ->where('p.id', $id);

    $result = $query->getQuery()->getResult();
    echo "<pre>";
    print_r($result);
    exit;
}

我如何將任何整數傳遞給where子句。

添加->setParameter("id", $id)並將where子句更改為->where('p.id = :id')之后,我得到了解決方案

public function selectsingle($id){
    $qb = $this->em->createQueryBuilder();
    $query = $qb->select('p.name', 'p.email', 'p.subject', 'p.message')
            ->from('PdContact', 'p')
            ->where('p.id = :id')
            ->setParameter("id", $id);

    return $result = $query->getQuery()->getResult();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM