我正在尝试查询我的用户存储库中的数据库(symfony2):
namespace Doobin\UserBundle\Entity;
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function pageAccess($User=1,$Page='_home')
{
$query="SELECT `user` FROM `vu001_user_permission` WHERE `user` = '$User' AND `path`='$Page'";
$conn = Doctrine_Manager::getInstance()->connection();
$stmt = $conn->prepare($query);
$stmt->execute();
return $stmt;
}
但它不起作用。
它在现场直播时停止工作
$conn = Doctrine_Manager::getInstance()->connection();
我从symfony网站tuturial复制了它。
我也试过这个:
$em = $this->getDoctrine()->getEntityManager();
$connection = $em->getConnection();
$statement = $connection->prepare("SELECT `user` FROM `vu001_user_permission` WHERE `user` = '$User' AND `path`='$Page'");
$statement->execute();
$results = $statement->fetchAll();
当它到达行$em = $this->getDoctrine()->getEntityManager();
并试过这个:
namespace Doobin\UserBundle\Entity;
use Doctrine\ORM\EntityRepository;
class UserRepository extends EntityRepository
{
public function pageAccess($User=1,$Page='_home')
{
return $this->getEntityManager()
->createQuery(
'SELECT p FROM UserBundle:User p ORDER BY p.name ASC'
)
->getResult();
}
}
$this->getEntityManager()
现在正在工作,请帮助我如此忙碌。
我查了一切。
我错过了什么吗?
答案 0 :(得分:7)
执行以下操作以获得连接:
$em = $this->getDoctrine()->getEntityManager();
$conn = $em->getConnection();
要查询,
$stmt = $conn->prepare($query);
$stmt->execute();
$results = $stmt->fetchAll();
答案 1 :(得分:1)
看起来你正在混合symfony 1和2.
在symfony2中,您很可能会使用NativeQuery方法来实现此目的。 (见http://docs.doctrine-project.org/en/latest/reference/native-sql.html)