あなたのJunk
エンティティについて知る必要があります:type
単なる文字列フィールドですか?
とにかく、関連するリポジトリ クラスに独自のリポジトリ メソッドを記述できます。Junk
クラス ソースは次のようになります。
src/Acme/JunkieBundle/Entity/Junk.php
namespace Acme\JunkieBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="Acme\JunkieBundle\Repository\JunkRepository")
* @ORM\Table(name="junk")
*/
class Junkie{ ... }
リポジトリ クラス名の注釈があることを確認してから、そのクラス ($C100 = $em->getRepository()
コントローラーのメソッドによってフェッチされるクラス) を書き留めます。
src/Acme/JunkieBundle/リポジトリ/JunkRepository.php
namespace Acme\JunkieBundle\Repository;
use Doctrine\ORM\EntityRepository;
class JunkRepository extends EntityRepository
{
public function findByTypes(array $types)
{
//we build our query here
$qb = $this -> createQueryBuilder();
$query = $qb -> where( $qb -> expr() -> in ('type', $types) )
-> getQuery();
return $query -> getResults();
}
}
今、あなたは電話することができます
$em->getRepository('AcmeJunkieBundle:Junk')->findByTypes(array('C100', 'C200', 'C300'))
あなたのコントローラーで。
Doctrine のドキュメントを確認してください。