Size: a a a

2021 March 22

AF

Alexei Fedorov in symfony
👤 User
public function __construct(EntityManagerInterface $em)
   {
       $this->em = $em;
   }
Спасибо.
источник

AK

Anton K. in symfony
Alexei Fedorov
Ребят, ещё вопрос как лучше в классе сущности описать свойство из списка (enum). Простой пример: пол (мужской / женский).

Сделать связь OneToMany? Муторно вроде как то ради этого заводить отдельную таблицу. Есть ещё варианты?
константы?
источник

AF

Alexei Fedorov in symfony
Anton K.
константы?
Не могу найти пример констант в Entity
источник

МФ

Максим Федоров... in symfony
Alexei Fedorov
Ребят, ещё вопрос как лучше в классе сущности описать свойство из списка (enum). Простой пример: пол (мужской / женский).

Сделать связь OneToMany? Муторно вроде как то ради этого заводить отдельную таблицу. Есть ещё варианты?
чем обычная строка не подходит? Можете сделать Value Object с кастомным доктриновским  типом — довольно типовая операция
источник

МФ

Максим Федоров... in symfony
Alexei Fedorov
Не могу найти пример констант в Entity
private const GENDER_MALE = 'male';
источник

AF

Alexei Fedorov in symfony
Максим Федоров
private const GENDER_MALE = 'male';
Понятно, а как это привязать к свойству $gender? Как и советует Максим, пол прописать как строку?
источник

Ш

Шурик in symfony
Максим Федоров
private const GENDER_MALE = 'male';
нужно классическим неполиткорректным методом: мальчики - 1, девочки - 0))
источник

AK

Anton K. in symfony
const GENDER_MALE = 1
источник

AF

Alexei Fedorov in symfony
))))
источник

AK

Anton K. in symfony
Alexei Fedorov
Понятно, а как это привязать к свойству $gender? Как и советует Максим, пол прописать как строку?
просто сеттер геттер

$entity->setGender($entity::GENDER_MALE)
источник

AK

Anton K. in symfony
и в сеттере можно проверить in_array($gender, [ self::GENDER_MALE, self::GENDER_FEMALE ])
источник

AF

Alexei Fedorov in symfony
А сам gender строка?
источник

AK

Anton K. in symfony
как захотите. строку накладнее хранить в mysql немного, чем tinyint
источник

AF

Alexei Fedorov in symfony
Ну или int
источник

AF

Alexei Fedorov in symfony
Ок, спасибо всем. Мелочь, но лучше спросить.
источник

VM

Volodymyr Melko in symfony
Anton K.
просто сеттер геттер

$entity->setGender($entity::GENDER_MALE)
я бы сеттер с константой заменил на набор методов male() / female() / etc
или на сеттер с ВО, как предлагалось дальше
источник

AK

Anton K. in symfony
Volodymyr Melko
я бы сеттер с константой заменил на набор методов male() / female() / etc
или на сеттер с ВО, как предлагалось дальше
эти методы уже как синтаксический сахар к set/get gender
источник

AK

Anton K. in symfony
а что такое value object?
источник

AK

Anton K. in symfony
понял
источник

ПГ

Павел Г. in symfony
Anton K.
а что такое value object?
setGender(gender::male());
источник