我是symfony4的新手,很抱歉,如果我的问题很愚蠢但是我在这个问题上工作了三天而没有找到解决方案。 所以我有一个实体“专业人士”和一个实体“Coordonnees”,我希望在一个视图中呈现一个带有专业知识和位置的表格。它已经与我的应用程序成员和赞助商中的其他两个类一起使用。对于我的实体“Professionnel”,我有一个错误: Error return
这是我的实体“专业人士”:
<?php
namespace App\Repository;
use App\Entity\Professionnel;
use Doctrine\Bundle\DoctrineBundle\Repository\ServiceEntityRepository;
use Symfony\Bridge\Doctrine\RegistryInterface;
/**
* @method Professionnel|null find($id, $lockMode = null, $lockVersion = null)
* @method Professionnel|null findOneBy(array $criteria, array $orderBy = null)
* @method Professionnel[] findAll()
* @method Professionnel[] findBy(array $criteria, array $orderBy = null, $limit = null, $offset = null)
*/
class ProfessionnelRepository extends ServiceEntityRepository
{
public function __construct(RegistryInterface $registry)
{
parent::__construct($registry, Professionnel::class);
}
public function getProEtAdresses(): array
{
$conn = $this->getEntityManager()->getConnection();
$sql = '
SELECT *
FROM coordonnees
INNER JOIN `professionnel`
ON `professionnel`.`coordonnees_id`= `coordonnees`.`id`
';
$stmt = $conn->prepare($sql);
$stmt->execute();
}
我的ProfessionnelRepository
<?php
// GestionASM17/src/Controller/ProfessionnelsController.php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\HttpFoundation\Response;
use App\Entity\Coordonnees;
class ProfessionnelsController extends Controller
{
public function afficherProfessionnels()
{
//Récupère sous forme de tableau les Professionnels et leurs adresses
$ListeProEtAdresse = $this->getDoctrine()
->getRepository(Professionnel::class)
->getProEtAdresse();
return $this->render('GestionASM17/professionnels.html.twig', array(
'ListeProEtAdresse'=>$ListeProEtAdresse
));
}
public function detailProfessionnels($id)
{
//Récupère les données du Professionnel passé en paramètre dans une instance de professionnel
$Pro = $this->getDoctrine()
->getRepository(Professionnel::class)
->find($id);
// Récupère les coordonnées du Professionnel passé en paramètre
$Coordonnees = $this->getDoctrine()
->getRepository(Coordonnees::class)
->find($Pro->getCoordonnees());
//Renvoi de la vue
return $this->render('GestionASM17/detailProfessionnels.html.twig', array(
'Pro'=>$Pro ,
'Coordonnees'=>$Coordonnees
));
}
}
我的控制器
Foo.foo
所以我不会理解为什么它与我的两个实体合作而不是我的实体“专业人士”。 提前感谢您的答案,并原谅我的近似英语
Kourilles
答案 0 :(得分:2)
很可能取决于Professionnel::class
ProfessionnelsController
中的use
来电。实际上,您没有在控制器中为该类添加任何App\Controller
语句。这意味着所述类将从控制器Professionnel::class
的同一名称空间加载,但当然没有use
具有该名称空间。
因此,您只需在ProfessionnelsController
<?php
// GestionASM17/src/Controller/ProfessionnelsController.php
namespace App\Controller;
...
use App\Entity\Professionnel;
class ProfessionnelsController extends Controller
语句
<dependency>
<groupId>mygroup</groupId>
<artifactId>B<artifactId>
</dependency>