Wie kann man den ausgewählten Wert in Symfony entityType halten, wenn der Wert von Softdeletable gelöscht wurde?

Post a reply

Smilies
:) :( :oops: :chelo: :roll: :wink: :muza: :sorry: :angel: :read: *x) :clever:
View more smilies

BBCode is ON
[img] is ON
[flash] is OFF
[url] is ON
Smilies are ON

Topic review
   

Expand view Topic review: Wie kann man den ausgewählten Wert in Symfony entityType halten, wenn der Wert von Softdeletable gelöscht wurde?

by Anonymous » 01 Feb 2025, 08:14

Zuallererst verwende ich Gedmos Softdeleterable, um gelöschte Einheiten zu verwalten. Außerdem habe ich mein eigenes Entityfield :

Code: Select all

namespace App\Form\Fields;

use Symfony\Bridge\Doctrine\Form\Type\EntityType;
use Symfony\Component\Form\AbstractType;

class EntityField extends AbstractType
{
public function configureOptions(OptionsResolver $resolver): void
{
parent::configureOptions($resolver);

// some additional configuration

$resolver->setDefaults([
'query_builder' => function (EntityRepository $er): QueryBuilder {
return $er->createQueryBuilder('entity')
->andWhere('entity.deletedAt IS NULL');
},
]);
}

public function getParent(): string
{
return EntityType::class;
}
}
Wie Sie sehen können, verwende ich in meinem EntityField . p>
Es funktioniert einwandfrei, solange ich weichdetelierte Entität, die bereits verwendet wurde. Ich habe Benutzer , Datei und fileType Entitäten, Benutzer hat die Erfassung von Datei und Datei fileType enthält. Ich habe einige Filetype softdeletiert und für mich bedeutet es, dass ich keine neuen Datei dieses Filetyps erstellen möchte, sondern alle vorhandenen Dateien dieses Filetyps < /Code> sind immer noch legal und müssen in Formularen ordnungsgemäß angezeigt werden. "Richtig" bedeutet in diesem Fall, dass, wenn ich Datei Formular und diese genaue Datei render FileType , die Auswahl diese gelöscht hat Filetyp . Aber jetzt habe ich in diesem Feld keinen ausgewählten Wert und es wie "Es gibt keinen ausgewählten Dateityp für diese Datei" dh nicht.
Ich habe versucht, query_builder in FormEvents :: PRE_SET_DATA Ereignis und fügen Sie den Wert aus der Datenbank hinzu, aber es sieht so aus Unmodifizierte query_buider . Fall Ich muss die Formattribute manuell ändern. Vielleicht habe ich irgendeine Formularoptionen vergessen?

Top