1000 search results

Single Table Inheritance

Alright, so in order to be able to fetch all the starships at once, we need to use Doctrine's second type of inheritance: Single Table Inheritance. With this feature, all entities that are part of the hierarchy are stored in a single table. This…

5:17
Entities, DTO's & The "Central" Object

…too good to be true. It gives us all the flexibility, in theory, of a custom class, while reusing all the core Doctrine provider and processor logic. But hold your horses because there are two, albeit fixable, snags. Most importantly, we're not allowed to…

6:24
Provider: Transforming Entities to DTOs

Let's keep track of the goal. When we first used stateOptions, it triggered the core Doctrine collection provider to be used. That's great... except that it returns User entities, meaning that those became the central objects for the UserApi endpoints. That causes a…

4:47
Querying the Database

…text file. We're going to stop using this MixRepository and instead load these $mixes from the database. Ok: to save objects, we leveraged the EntityManagerInterface service, which is the most important service by far in Doctrine. Whelp, this service can also query for objects…

7:25
Migrations

…run: symfony console doctrine:migrations:migrate Say y to confirm and... beautiful! It tells us that it's Migrating up to that specific version. It seems... like that worked! To make sure, you can try another bin/console command: symfony console doctrine:query:sql with…

4:14
Configuring our Bundle's Entity

…right now. This command also shows mapped superclasses, so we need to do some work to get our Translation class to show up here. You're probably used to using mapping attributes for your Doctrine entities. In bundles, it's a bit different. The official…

4:09
Refactoring `ObjectTranslator`

…a constructor for this class... and open it up to give us some space. Now copy the Doctrine-related properties from ObjectTranslator's constructor ($translationClass and $doctrine) and paste them into our new constructor: This paves the way for our next method, public function idFor()…

4:46
Reusable Entity->Dto Provider & Processor

Our UserAPI is now a fully functional API resource class! We've got our EntityToDtoStateProvider, which calls the core state provider from Doctrine, and that gives us all the good stuff, like querying, filtering, and pagination. Then, down here, we leverage the MicroMapper system to…

4:11
Making Questions owned by Users

Our site has users and these questions are created by those users. So in the database, each Question needs to be related to the User that created it via a Doctrine relationship. Right now, if you open src/Entity/Question.php, that is not the…

5:13
Worker Command

…them. That's tragic! Instead, those messages were sent to the doctrine transport and are waiting patiently inside of a messenger_messages table. So... how can we read these back out and process them? We need something that can fetch each row one-by-one…

5:34
File Uploads & Data Fixtures

Open up src/DataFixtures/ArticleFixtures.php. Here's how this works: this function creates 10 articles whenever we run bin/console doctrine:fixtures:load. It's a cool helper we created in our Symfony series. But, the setImageFilename() stuff is now a problem. We know…

9:49
Owning Vs Inverse Relations

We need to talk about a very, very important and, honestly, super-confusing part of Doctrine relations! Listen closely: this is the ugliest thing we need to talk about. So, let's get through it, put a big beautiful check mark next to it, then…

7:26
Fixtures: For some dumb data

…it there: To see if it's working, try getting help information on a new doctrine:fixtures:load console task that comes from the bundle: php app/console doctrine:fixtures:load --help We see the help information, so we're ready to write some fixtures…

1:54
Data Persister: Encoding the Plain Password

…users, we need to be able to run some code after API Platform deserializes the JSON into a User object, but before it gets saved to Doctrine. That code will encode the plainPassword and set it on the password property. How can we do that…

8:03
Développement d'applications TDD avec Symfony et ses amis en situation réelle (Chris Holland)

…gestion des utilisateurs, tests d'acceptation et tests unitaires. Mise en place de Doctrine avec PHPUnit, pour permettre un workflow TDD hautement productif. Tester ses classes Repository avec des opérations réelles sur les données tout en conservant une vitesse fulgurante. Tester ses Entity dans le…

37:31
Adding the ManyToOne Relation

…to have many Comments... and we want each Comment to belong to one Article. Forget about Doctrine for a minute: let's think about how this should look in the database. Because each Comment should belong to one article, this means that the comment table…

9:14
Adding a Comment Entity

Hey friends! I mean, hello fellow space-traveling developer... friends. Welcome, to part two of our Doctrine tutorial where we talk all about... relationships. Oh, I love relationships, and there are so many beautiful types in the universe! Like, the relationship between two old friends…

5:04
Dynamic Roles and Canonical Fields

Let's see what this all looks like in the database! To query the user table, we can actually use the console: php bin/console doctrine:query:sql 'SELECT * FROM user' Nice! We inherited a bunch of columns from the base User class, like username…

5:17
JOINs!

…do! I mean, a query isn't truly interesting unless you're joining across tables to do some query Kung fu. Doctrine makes JOINs really easy - it's one of my favorite features! Heck, they're so easy that I think it confuses people. Let…

3:27
An Aside: Dependency Injection Parameters

…forms stuff and open config.yml. Under the doctrine key, we see a bunch of percent sign values: # app/config/config.yml # ... doctrine: Whenever you see something surrounded by two percent signs in a config file, it’s a parameter. Parameters are like variables: you…

1:41