我正在尝试在我的实体类中编写新的get方法
这是属性
protected $courseLink;
它的get方法
/**
* Get courseLink
*
* @return string
*/
public function getCourseLink()
{
$this->courseLink = '/courses/'.$this->getCourseTitle();
return $this->courseLink;
}
getCourseTitle方法
/**
* Get courseTitle
*
* @return string
*/
public function getCourseTitle()
{
return $this->courseTitle;
}
这是带有选择查询的控制器
$em = $this->getDoctrine()->getEntityManager();
$query = $em->createQuery(
'SELECT c FROM DprocMainBundle:Courses c ORDER BY c.Id DESC'
);
$course = $query->setMaxResults(4)->getResult();
//print_r($course);
return $this->render('DprocMainBundle:Dproc:index.html.twig', array('courses' => $course));
print_r显示
阵列
(
[0] => Dproc\MainBundle\Entity\Courses Object
(
[Id:protected] => 1
[courseTitle:protected] => 3ds Max и Vray
[courseContent:protected] => 3ds max course is awesome!
[courseCategory:protected] => 3ds-max
[courseTeacher:protected] => Ваге Мурадян
[coursePayment:protected] => payment..
[courseSchedule:protected] => schedule..
[courseDescription:protected] => description..
[courseLink:protected] =>
)
)
courseLink为空,但为什么?那我该如何在课堂上给它价值?
答案 0 :(得分:1)
由于courseLink
属性本身不存储在您的数据库中,因此在您调用null
方法之前,它将为getCouseLink()
。这实际上是正确的行为。
只需将您从数据库中提取的$course
对象传递给您的视图,然后按以下方式访问它:
{{ course.courseLink }}
Twig将调用getCourseLink()
方法,它将返回正确的字符串/网址。