Heim > Backend-Entwicklung > PHP-Tutorial > Zusammenfassende gemeinsame Nutzung von Symfony-Abfragemethoden

Zusammenfassende gemeinsame Nutzung von Symfony-Abfragemethoden

小云云
Freigeben: 2023-03-20 08:32:02
Original
1615 Leute haben es durchsucht

Dieser Artikel stellt allen die Symfony-Abfragemethode vor und fasst die spezifischen Verwendungsfähigkeiten von createQuery und getQuery in Form von Beispielen zusammen. Ich hoffe, dass sie allen helfen können.

1. So schreiben Sie createQuery


$sql = 'SELECT COUNT(DISTINCT(g.goodsId)) FROM AppBundle:GoodsIndex g WHERE g.status = :status';
$params = array(
 'status' => GoodsIndex::STATUS_NORMAL,
);
if (!empty($keywords)) {
 $params['keywords'] = "%{$keywords}%";
 $sql .= ' AND g.keywords like :keywords ';
}
 if (!empty($warehouseIdList)) {
  $params['warehouseIdList'] = $warehouseIdList;
  $sql .= " AND g.warehouseId IN :(warehouseIdList)";
 }
$goodsNum = $this->entityManager->createQuery($sql)->setParameters($params)->getSingleScalarResult();
Nach dem Login kopieren

Persönliche Zusammenfassung: Es bedeutet Platzhalter, um SQL-Injection zu verhindern. Fügen Sie also alle erforderlichen Parameter in das Array $params ein.

2. So schreiben Sie getQuery


$orderBy = 'p.'.$searchOptions['orderBy'];
$repository = $this->entityManager
 ->getRepository('AppBundle:GoodsIndex');
$query = $repository->createQueryBuilder('p');
$query->select('DISTINCT(p.goodsId)');
$query->where('p.keywords like :keywords')
 ->setParameter('keywords', "%{$searchOptions['keywords']}%")
 ->andwhere('p.status = :status')
 ->setParameter('status', GoodsIndex::STATUS_NORMAL)
 ->orderBy($orderBy, $searchOptions['order'])
 ->setFirstResult($pagination['pageSize'] * ($pagination['page'] - 1))
 ->setMaxResults($pagination['pageSize']);
if (!empty($searchOptions['warehouseIdList'])) {
 $query->andWhere($query->expr()->in('p.warehouseId', $searchOptions['warehouseIdList']));
}
$goodsIndexList = $query->getQuery()->getResult();
Nach dem Login kopieren


Verwandte Empfehlungen:

Ausführliche Erläuterung des Abfragebeispiels von Symfony2 basierend auf der Eingabezeit

Ausführliche Erläuterung der Verwendung des Symfony2-Framework-Formulars

Ausführliche Erläuterung der Methode zur Implementierung einer gemeinsamen Abfrage in Symfony2

Das obige ist der detaillierte Inhalt vonZusammenfassende gemeinsame Nutzung von Symfony-Abfragemethoden. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage