Using Symfony 4, I'm looking at the documentation for choicetype here and I see this
use App\Entity\Category;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
// ...
$builder->add('category', ChoiceType::class, [
'choices' => [
new Category('Cat1'),
new Category('Cat2'),
new Category('Cat3'),
new Category('Cat4'),
],
I assume that by calling new Category('Cat1')
that it would basically do a lookup in the database of that record based of something like a name field.
How do you do that in the Entity constructor? Unfortunately I don't see any documentation on how that would be done? Or is it just making a new category there (though I fail to see how this would work as it would be missing the database id without a lookup)?
Basically I have the following:
Employee Table
- employee_id
Employee Roles Table
- employee_id
- role_id
Roles Table
- role_id
So one employee can have many roles. I use a mapping table to do this. What I need is a choicetype that gives me all the roles (all records from Roles table) and then selects the ones that are found in the mapping table (Employee Roles where employee_id = x)