M M*_*ero 1 php doctrine symfony
您好我正在尝试按标题选择
实体\ Pages.php
<?php
namespace Dproc\MainBundle\Entity;
use Doctrine\ORM\Mapping as ORM;
/**
* @IgnoreAnnotation("fn")
*
*/
/**
* @ORM\Entity
* @ORM\Table(name="pages")
*/
class Pages
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $Id;
/**
* @ORM\Column(type="text")
*/
protected $page_title;
/**
* @ORM\Column(type="text")
*/
protected $page_content;
/**
* @ORM\Column(type="text")
*/
protected $page_category;
/**
* Get Id
*
* @return integer
*/
public function getId()
{
return $this->Id;
}
/**
* Set page_title
*
* @param string $pageTitle
* @return Pages
*/
public function setPageTitle($pageTitle)
{
$this->page_title = $pageTitle;
return $this;
}
/**
* Get page_title
*
* @return string
*/
public function getPageTitle()
{
return $this->page_title;
}
/**
* Set page_content
*
* @param string $pageContent
* @return Pages
*/
public function setPageContent($pageContent)
{
$this->page_content = $pageContent;
return $this;
}
/**
* Get page_content
*
* @return string
*/
public function getPageContent()
{
return $this->page_content;
}
/**
* Set page_category
*
* @param string $pageCategory
* @return Pages
*/
public function setPageCategory($pageCategory)
{
$this->page_category = $pageCategory;
return $this;
}
/**
* Get page_category
*
* @return string
*/
public function getPageCategory()
{
return $this->page_category;
}
}
Run Code Online (Sandbox Code Playgroud)
CourseController
<?php
namespace Dproc\MainBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Dproc\MainBundle\Entity\Pages;
use Symfony\Component\HttpFoundation\Response;
class CourseController extends Controller
{
public function IndexAction($slug)
{
$page = $this->getDoctrine()
->getRepository('DprocMainBundle:Pages')
->findByPageTitle($slug);
if (!$page) {
throw $this->createNotFoundException('No product found for slug '.$slug);
}
return $this->render('DprocMainBundle:Dproc:single.html.twig',array('page' => $page));
}
}
Run Code Online (Sandbox Code Playgroud)
我试图通过page_title找到它,所以我尝试了findByPageTitle($ slug)但它显示
Entity 'Dproc\MainBundle\Entity\Pages' has no field 'pageTitle'. You can therefore not call 'findByPageTitle' on the entities' repository
Run Code Online (Sandbox Code Playgroud)
我做错了什么,我如何逐页选择
Symfony的编码标准规定您需要在变量上使用camelcase语法.
我的猜测是你使用了下划线语法,因为你希望数据库中的列具有下划线.
您可以使用该属性指定列名name的Column注释.
/**
* @ORM\Column(name="page_title", type="text")
*/
protected $pageTitle;
/**
* @ORM\Column(name="page_content", type="text")
*/
protected $pageContent;
/**
* @ORM\Column(name="page_category", type="text")
*/
protected $pageCategory;
Run Code Online (Sandbox Code Playgroud)
我强烈建议您阅读编码标准,以便将来不会遇到这类问题.
| 归档时间: |
|
| 查看次数: |
1870 次 |
| 最近记录: |