【发布时间】:2015-05-08 08:03:18
【问题描述】:
我正在使用 symfony 和 php,我是这方面的新手。我想呼应所有用户的汽车。
class UserController extends Controller
{
public function indexAction($uname)
{
$cars = new cars();
$user = new user();
$models = new models();
$brands = new brands();
$a = 1;
$em = $this -> getDoctrine() -> getEntityManager();
$id = $em -> getRepository("OBCarsTest1Bundle:user") ->findOneByuname($uname);
array ($UserCars = $em -> getRepository("OBCarsTest1Bundle:cars") ->findByidUser($id));
//$ModelId = $em -> getRepository("OBCarsTest1Bundle:models")->findById($UserCars);
//$BrandsId = $em -> getRepository("OBCarsTest1Bundle:brands")->findOneById($ModelId);
while($UserCars[$a]->getId() != Null)
{
if(! isset($UserCars[$a]))
{
$UserCars[$a] = Null;
}
//i want to see all the cars of the users
echo ('Created user : '.$UserCars[$a]->getName());
//return new Response('Created user : '.$UserCars[$a]->getId());
$a++;
}
return new Response('ma akal');
//return $this->render('OBCarsTest1Bundle:Default:index.html.twig', array('UserCars' => $UserCars));
}
现在我的代码看起来像这样(在进行任何更改之前)但我遇到了一个错误:
注意:未定义属性:OBCarsTest1Bundle\Entity\cars::$getName
我搜索了问题并尝试修复它并更改代码,但我得到了相同的结果。
class UserController extends Controller
{
public function indexAction($uname)
{
$cars = new cars();
$user = new user();
$models = new models();
$brands = new brands();
$a = 0;
$em = $this -> getDoctrine();
$id = $em -> getRepository("OBCarsTest1Bundle:user") ->findOneByuname($uname);
$UserCars = $em -> getRepository("OBCarsTest1Bundle:cars") ->findByidUser($id);
//$ModelId = $em -> getRepository("OBCarsTest1Bundle:models")->findById($UserCars);
//$BrandsId = $em -> getRepository("OBCarsTest1Bundle:brands")->findOneById($ModelId);
foreach($UserCars as $car)
{
echo "$car->getName() <br>";
}
return new Response('ma akal');
//return $this->render('OBCarsTest1Bundle:Default:index.html.twig', array('UserCars' => $UserCars));
}
【问题讨论】:
-
更好的选择是使用
foreach循环,但在循环之前检查$UserCars是否不是情感
标签: php symfony doctrine-orm