- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在处理part4 of Symfony2 ,在更新 Controller 和辅助类代码时,我收到以下错误消息
Undefined method 'getLatestBlogs'. The method name must start with either
findBy or findOneBy!
在我将一些代码放入 Controller 之前,我按照教程的教学转移到了我的帮助器类,这导致了上述错误消息。
<?php
// src/Blogger/BlogBundle/Repository/BlogRepository.php
namespace Blogger\BlogBundle\Repository;
use Doctrine\ORM\EntityRepository;
/**
* BlogRepository
* This class was generated by the Doctrine ORM. Add your own custom
* repository methods below.
*/
class BlogRepository extends EntityRepository
{
public function getLatestBlogs($limit = null)
{
$qb = $this->createQueryBuilder('b')
->select('b')
->addOrderBy('b.created', 'DESC');
if (false === is_null($limit))
$qb->setMaxResults($limit);
return $qb->getQuery()
->getResult();
}
}
这是我的 Controller 文件索引操作代码:-
// src/Blogger/BlogBundle/Controller/PageController.php
class PageController extends Controller
{
public function indexAction()
{
$em = $this->getDoctrine()
->getEntityManager();
$blogs = $em->getRepository('BloggerBlogBundle:Blog')
->getLatestBlogs();
return $this->render('BloggerBlogBundle:Page:index.html.twig', array(
'blogs' => $blogs
));
}
// ..
}
我附加了/Entity/Blog.php 文件中的几行内容。请看看您的答案是否正确。
<?php
// src/Blogger/BlogBundle/Entity/Blog.php
namespace Blogger\BlogBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @ORM\Entity(repositoryClass="Blogger\BlogBundle\Repository\BlogRepository")
* @ORM\Table(name="blog")
* @ORM\HasLifecycleCallbacks()
* @ORM\Entity
*/
class Blog
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
* @ORM\HasLifecycleCallbacks()
*/
protected $id;
--
--
}
我哪里做错了?
最佳答案
确保您已修改实体类:
// src/Blogger/BlogBundle/Entity/Blog.php
/**
* @ORM\Entity(repositoryClass="Blogger\BlogBundle\Repository\BlogRepository")
* @ORM\Table(name="blog")
* @ORM\HasLifecycleCallbacks()
*/
class Blog
{
// ..
}
注释 @ORM\Entity(repositoryClass="Blogger\BlogBundle\Repository\BlogRepository")
是必需的。
并且不要忘记重新生成实体:
php app/console doctrine:generate:entities Blogger
删除注释@ORM\Entity
。它覆盖了正确的注释 @ORM\Entity(repositoryClass="Blogger\BlogBundle\Repository\BlogRepository")
关于symfony - 方法名称必须以 findBy 或 findOneBy 开头。 Symfony 未定义方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9172586/
我在一个项目中使用 Doctrine,我必须找到一个值。如果这样的值不存在或者如果有多个值,则必须启动另一个进程。我想我应该为此使用 findOneBy 函数。现在我想知道如果结果不是单个值,这个函数
有人在 Symfony 3(最后一个版本)中遇到过这个奇怪的问题吗? 我有以下简单的代码: $repository = $this->getDoctrine()
我的问题是,我有表 movies_status,其中有两个外键:“movie”和“who”。我正在尝试进行 DQL 查询,我在其中按对象、外键 ID 找到单行,但它什么也没找到。 实体: /** *
我正在使用 Symfony2.3 和以下版本的学说组件(composer show -i | grep 学说)开发一个遗留项目: doctrine/annotations
我正在创建只有两个实体的小型应用程序,Order 和 Shipment。 Shipment 实体如下:(为了简短起见删除了方法) /** * @var integer $id * * @ORM\
我在使用 Doctrine 中的 findOneBy() 函数时遇到问题。我想在该函数中使用 OR 条件。这是我的示例代码: $data = $this->getDoctrineRepo(Employ
$em = $this->getDoctrine()->getEntityManager(); $repository = $em->getRepository('UserBundle:items')
我尝试理解 Doctrine 方面的一些奇怪行为,例如: 我有一个简单的表单,并在最后创建表单的请求中发送参数。 /** * Displays a form to create a new Comm
我已经查过了 this但我的错误似乎有所不同。 我收到此错误: [2012-05-07 14:09:59] request.CRITICAL: BadMethodCallException: Unde
我有一种情况,我想使用 symfony2 中的 doctrine 中的 findOneBy($id) 方法查询数据库。 $namePosting = $this->getDoctrine()->get
我目前正在使用 Symfony2 并且收到此错误消息: 未定义的方法“getDoctrine”。方法名称必须以 findBy 或 findOneBy 开头! 500 内部服务器错误 - BadMeth
我正在处理part4 of Symfony2 ,在更新 Controller 和辅助类代码时,我收到以下错误消息 Undefined method 'getLatestBlogs'. The meth
我有一个带有列类型数组的实体 /** * Report entity * * @ORM\Table(name="report") * @ORM\Entity(repositoryClass="
如果我模拟存储库方法 find 我会得到预期的结果,但如果我调用 findBy、findOneBy、findOneById 中的任何一个,我总是得到 null。 代码示例: $mock->expect
我正在使用原则 2.4 从事 symfony 2.5 项目。 我想使用缓存 ID 和缓存时间来缓存查询结果,这样我就可以在需要时通过管理员删除缓存结果。 我可以使用“createQueryBuilde
使用 Symfony2、Doctrine 和 MySQL,我使用 findOneBy 方法。 在谈论字符串条件字段时,我需要它考虑大写字母。 示例:假设我的数据库中的某个表中有这个 path 字段。
我是一名优秀的程序员,十分优秀!