我在Entity中有一个类型数组字段,
MyEntity.php
/**
* @var string
*
* @ORM\Column(name="excepcionMenu", type="array", length=255, nullable=true)
*/
private $excepcion;
Run Code Online (Sandbox Code Playgroud)
我想让一个QueryBuilder在$ excepcion字段中选择不为空或不为空.
我正在尝试 MyEntityRepository.php
public function findAllExcepcionesByItem($itemId) {
$query = $this->createQueryBuilder('p')
->leftJoin('p.item', 'i')
->where('i.id = :actual')->setParameter('actual', $itemId)
->andWhere('p.excepcion IS NOT NULL')
->getQuery();
return $query->getResult();
}
Run Code Online (Sandbox Code Playgroud)
但是这会返回所有表记录.
public function findAllExcepcionesByItem($itemId) {
$query = $this->createQueryBuilder('p')
->leftJoin('p.item', 'i')
->where('i.id = :actual')->setParameter('actual', $itemId)
->andWhere('p.excepcion IS NULL')
->getQuery();
return $query->getResult();
}
Run Code Online (Sandbox Code Playgroud)
但这会返回零记录.
数据库中的此字段以这种方式存储值:
a:0:{} // empty
N; // null
a:2:{i:0;i:2;i:1;i:4;} // not …
Run Code Online (Sandbox Code Playgroud)