如何查找以指定字符开头的记录?Symfony2如何查找以指定字符开头的记录?
例如:只有在用户名开始与A
User类
<?php
namespace DemoBundle\Entity;
use FOS\UserBundle\Model\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity
* @ORM\Table(name="fos_user")
*/
class User extends BaseUser
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM\Column(type="string", length=50)
*/
protected $name;
/**
* @ORM\Column(type="string", length=50)
*/
protected $lastname;
public function __construct()
{
parent::__construct();
// your own logic
}
//getters and setters
}
和控制器的行动解决方案@Kwido
public function listAction($letter)
{
$queryBuilder = $this->getEntityManager()->createQueryBuilder();
$queryBuilder
->select(['user'])
->from(User::class, 'user')
->andWhere($queryBuilder->expr()->like('user.lastname', ':lastname'))
->setParameter('lastname', $queryBuilder->expr()->literal('A%'));
$result = $queryBuilder->getQuery()->getResult();
die(var_dump($result));
}
这个用户是所有我有什么。这给我的错误
试图调用名为 “getEntityManager” 类DemoBundle \控制器\ DefaultController”
在获得EntityManager的控制器类中,您需要调用'$ this-> getDoctrine() - > getManager()'而不是'$ this-> getEntityManager()'。改变它,然后再试一次。 – rogeriolino
谢谢,它的工作原理。但查询返回null。在数据库中,我有大约4k个随机用户。 –