我正在嘗試以一種形式過濾屬于登錄用戶的收件人。
當我嘗試使用登錄用戶過濾我的 Destinataire 表時出現上述錯誤。
Expression of type 'App\Entity\User' not allowed in this context
Utilisateur 是我的 Destinataire 物體的一個領域。我的表格:
<?php
namespace App\Form;
use App\Entity\Courrier;
use App\Entity\Destinataire;
use Doctrine\ORM\EntityRepository;
use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolver;
use Symfony\Component\Security\Core\Security;
class CourrierType extends AbstractType
{
private $security;
public function __construct(Security $security)
{
$this->security = $security;
}
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add('objet')
->add('destinataire', EntityType::class, [
'class' => Destinataire::class,
'placeholder' => '--Choisissez un destinataire--',
'query_builder' => function (EntityRepository $er)
{
$user = $this->security->getUser();
return $er->createQueryBuilder('qb')
->where('utilisateur', $user)
->addOrderBy('qb.denomination', 'ASC')
->addOrderBy('qb.prenom', 'ASC')
->addOrderBy('qb.nom', 'ASC');
},
])
->add('dateEnvoi')
->add('dateRelance')
->add('statut')
->add('offreReference')
->add('nosReferences')
->add('vosReferences')
->add('annonceCopie')
->add('paragraphe1')
->add('paragraphe2')
->add('paragraphe3')
->add('paragraphe4')
;
}
public function configureOptions(OptionsResolver $resolver): void
{
$resolver->setDefaults([
'data_class' => Courrier::class,
]);
}
}
錯誤就行了:
->where('utilisateur', $user)
uj5u.com熱心網友回復:
替換這一行 ->where('qb.utilisateur = :user')->setParameter('user', $user)
有關更多資訊,請閱讀此檔案Doctrine Binding Parameters
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/354365.html
