【问题标题】:Getting Objects from database in Symfony2在 Symfony2 中从数据库中获取对象
【发布时间】:2015-06-08 19:19:55
【问题描述】:

有一天我在某个地方读到 symfony2/Doctrine2 有一个方法(我现在不记得方法名称了),它可以获取我们指定的所有“喜欢”的对象。 例如,我有 User entity 具有 userNamepasswordnamestatecity 作为属性.. 为了获取所有具有 name = "vinay"state = "karnataka" 的用户,步骤如下像这样,,,

$user = new User();
$user->setName("vinay");
$user->setState("karnataka");

$query = $em->dontKnowTheMethod($user);
$usersList = $query->getResult();

$usersList 应包含其name = "vinay"state = "karnataka" 的所有用户

我搜索了几个小时,但我没有得到那个方法。我确定我很久以前就读过那个方法,但我现在不记得了。。

提前谢谢..

【问题讨论】:

  • 在此处发布之前尝试使用谷歌搜索您的问题,这个问题非常基本,并且在每个文档中
  • 确实这是一个基本概念,在 Symfony2 食谱中有明确记录:symfony.com/doc/current/book/…

标签: php database symfony doctrine-orm symfony-2.7


【解决方案1】:

你应该开始学习教义和symfony。

$user = new User();
$user->setName("vinay");
$user->setState("karnataka");

$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();

$repo = $this->getDoctrine()->getRepository('YourWhateverBundle:User');
$userResult = $repo->findAll(['name' => 'vinay', 'state' => 'karnataka'])

if (!$userResult instanceof User) {
   echo 'No result found';
} else {
   // Do whatever you want with $userResult
}

【讨论】:

  • if (!$userResult instanceof User) 总是为真.. 因为我猜它是 Array 的一个实例..
  • 如果您要查找的内容存在于 DB 中,那么它将是正确的,否则不会。您可以随时使用echo gettype($userResult); 查看它是什么
  • No No.. 我要说的是 $userResult 是一个 instanceof 数组,对吧..?
  • 嗨@BentCoder 您的回答可能有错字吗?方法findAll 不接受参数,可能你想说findBy
猜你喜欢
  • 2018-07-19
  • 2018-10-03
  • 1970-01-01
  • 1970-01-01
  • 2015-05-29
  • 2016-05-19
  • 2020-03-08
  • 2016-12-10
  • 2014-09-17
相关资源
最近更新 更多