511 search results

andWhere() and orWhere()

…ve ever used it! And... you shouldn't either. Using andWhere() is always ok - even if this is the first WHERE clause... and we don't really need the "and" part. Doctrine is smart enough to figure that out. What's wrong with ->where()? Well…

7:06
And WHERE Or WHERE

…cat: The only thing our query needs is a WHERE clause to match the term to the name of the Category. Let's chain! Use a function called andWhere(). Don't worry - Doctrine won't add an AND to the query, unless it's needed…

4:27
Generating URLs

Most of these links don't go anywhere yet. Whatever! No problem! We're going to fill them in as we continue. Besides, most of our users will be in hypersleep for at least a few more decades. But we can hook up some of…

5:48
Actions: Listening to Events

I want to make our controller more realistic: instead of being able to click anywhere on the element to increment the count, let's add a button. Easy enough! In the template, add

encore watch & Code Splitting

…filenames? When you build Encore for production, those will be very simple names, usually a number - like 55.js. It won't expose all these path details. Next let's figure out how and where stimulus is installed and build our very first stimulus controller!

4:06
Migrating Encore -> AssetMapper

…bunch of interesting things. We won't go too deep into how AssetMapper works - we have other tutorials for that - but let's explore. In .gitignore: it ignores the final location of the built assets and where the vendor files live. And in templates/base…

3:31
Listening & Publishing

…which is the template that holds the entire reviews turbo frame. At the top, or really anywhere, add a div. Where its attributes live, render a new Twig function from the UX library we installed a few minutes ago - turbo_stream_listen() - and pass this…

5:42
Reusing Query Logic & Param Converters

…you can reuse query logic between them. For example, a lot of queries might need this andWhere('q.askedAt IS NOT NULL') logic. That's not complex, but I would still love to not repeat this line over and over again in every method and…

3:35
Filters

…cookie company, that means we don't make them anymore. But we're not showing this information anywhere on the frontend yet. But what if we wanted to only show fortune cookies on the site that we're still making? In other words, where discontinued…

10:29
Collection Magic with Criteria

…you can chain off of this. The Criteria object is similar to the QueryBuilder we're used to, but with a slightly different, well, slightly more confusing syntax. Add andWhere(), but instead of a string, use Criteria::expr(). Then, there are a bunch of methods…

7:45
Multiple Submit Buttons

…If we change price to IntegerType::class, when we refresh the form, nothing will change, because that was the guessed type. But what built-in form field types does Symfony have and where can we find them? Great question, and I'm glad you asked…

6:45
Bonus: Messenger Monitor Bundle

…When you have a bunch of messages and schedules running in the background, it can be hard to know what's happening. Are my workers running? Is my schedule running? And where is it running to? What about failures? I mean, we have logs, but..…

7:56
Criteria: Filter Relation Collections

…of an entity. Fortunately, we can move it there. Because this deals with fortune cookies, open FortuneCookieRepository and, anywhere, add a new public static function called... how about createFortuneCookiesStillInProductionCriteria(). This will return a Criteria object. Now, grab the $criteria statement from the entity... and return…

9:09
Turbo Stream Responses

For day 24, strap in for a quick adventure. We've learned that Turbo Streams are custom HTML elements that you can throw onto the page anywhere... and they execute! But there's another way to use Streams that's actually more commonly-documented, even…

4:24
Sending Handlers to Different Transports: from_transport

…option I want to mention is interesting... but can also be confusing. It's called from_transport. If you look at messenger.yaml, this DeleteImagePost isn't being routed anywhere, which means it's handled synchronously. Let's pretend that we want to handle it…

3:21
Modal Twig Component

…a good day. Today we get to combine our modal system with Twig components to achieve a goal! I want to be able to quickly add a modal anywhere in our app. Start in base.html.twig. All the way at the bottom, copy the…

11:54
Tagging Scenarios in order to Load Fixtures

…in the beginning when we had search feature? Try running that again: Huh, this one is failing now: it says that the text "Samsung Galaxy" was not found anywhere on the page. Now that you're an expert, I hope you can spot the problem…

5:16
Webpacking our First Assets

…the final, built files and the second - setPublicPath() - tells it the public path to this directory: The third important piece, and where everything truly starts, is addEntry(): Here's the idea: we point Webpack at just one JavaScript file - assets/js/app.js. Then, it…

5:27
All about Event Bubbling

I'm feeling so good about our first click listener, let's add another! When I click anywhere on a row, I also want to log a message. Back in the template, give the entire table a js class so we can select it. How…

4:31
Course

Learn APIs

RESTful APIs in the Real World Course 1

…PUT, PATCH, DELETE Idemptotency and safe methods Proper Status Codes, Location header and Content-Type Testing your API RFCs and where the "rules" come from Advanced error and validation handling If you want to know about Hypermedia, HATEOAS, Content-Type negotiation, pagination and more, these…

28 videos
|
1:45:06