/ / डॉक्ट्रिन DQL अमान्य पैरामीटर संख्या: बाध्य चर की संख्या टोकन की संख्या से मेल नहीं खाती - php, symfony, doctrine2, तैयार-स्टेटमेंट, dql

सिद्धांत डीक्यूएल अमान्य पैरामीटर संख्या: बाध्य चर की संख्या टोकन की संख्या से मेल नहीं खाती - php, symfony, doctrine2, तैयार-कथन, dql

मुझे त्रुटि मिल रही है Invalid parameter number: number of bound variables does not match number of tokens इस प्रश्न पर।

मैं वास्तव में समस्या नहीं देख रहा हूँ, कोई विचार?

public function getByPartial($q, Company $company)
{

$query = $this->createQueryBuilder("u")
->join("u.company",":company")
->where("u.firstName LIKE :q")
->orWhere("u.lastName LIKE :q")
->setParameters(array("company" => $company, "q" => "%".$q."%"))
->getQuery();
return $query->getResult();

}

उत्तर:

जवाब के लिए 2 № 1

कंपनी "एक पैरामीटर नहीं हो सकती है, आपको बस एक उपनाम निर्दिष्ट करना होगा जैसे:

public function getByPartial($q, Company $company)
{
$query = $this->createQueryBuilder("u")
->addSelect("c")
->join("u.company","c")
->where("u.firstName LIKE :q OR u.lastName LIKE :q")
->andWhere("c.id = :companyId")
->setParameters(array("companyId" => $company->getId(), "q" => "%".$q."%"))
->getQuery();
return $query->getResult();
}

उत्तर № 2 के लिए 1

आपको मापदंडों की सटीक संख्या को पास करना होगा।

public function getByPartial($q, Company $company)
{
$query = $this->createQueryBuilder("u")
->join("u.company","c")
->where("u.firstName LIKE :q1 OR u.lastName LIKE :q2")
->andWhere("c.id = :company_id")
->setParameters(array("company_id" => $company->getId(), "q1" => "%".$q."%", "q2" => "%".$q."%"))
->getQuery();
return $query->getResult();
}

संपादित सम्मिलित किसी भी वस्तु को नहीं ले जाता है। प्रलेखन