今天我卡在存储库类函数中,我收到了这个错误
未定义的方法“测试”。方法名称必须以 findBy 或 findOneBy 开头!
我已经检查了这些解决方案 - 解决方案 1 解决方案 2 解决方案 3
有什么我需要添加到配置文件中的吗?
这是我的实体类
// src/Foo/NewsBundle/Entity/News.php
namespace Foo\NewsBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* News
* @ORM\Entity(repositoryClass="Foo\NewsBundle\Repository\NewsRepository")
* @ORM\Table(name="news")
* @ORM\HasLifecycleCallbacks()
*/
class News
{
/**
* @var integer
*/
private $id;
/**
* @var string
*/
private $title;
这是我的存储库类
// Foo/NewsBundle/Repository/NewsRepository.php
namespace Foo\NewsBundle\Repository;
use Doctrine\ORM\EntityRepository;
Class NewsRepository extends EntityRepository
{
public function test()
{
return "Nisarg";
}
}
我正在从控制器调用这个test()函数
public function indexAction()
{
// $news = $this->getDoctrine()
// ->getRepository('FooNewsBundle:News')
// ->findAll();
$em = $this->getDoctrine()
->getManager();
$news = $em->getRepository('FooNewsBundle:News')->test();
if (!$news) {
throw $this->createNotFoundException('No news found');
}
$build['news'] = $news;
return $this->render('FooNewsBundle:Default:news_show_all.html.twig', $build);
}