A Northwoods Cabin

Thoughts on the internet and other unrelated things

Using WhereHas in Laravel Polymorphic Relations

Techniques like these are important to document because we bump into them frequently, but not frequently enough to have it memorized!

It seems like once every project I find myself googling "Laravel Polymorphic WhereHas", combing through one result after another, frustratedly repeating "How do I do this???".

While there isn't a first-party supported solution, I wanted to document what has been working for me, so I don't have to continue searching StackOverflow!

Read the entire article on the Zaengle blog →

Jan 21, 2018

Programming for your Future Self

If you are anything like me, you may find yourself hacking on a variety of different applications during a given week. Occasionally I get the luxury of working on a single app, which gives my brain the freedom to immerse itself into the details of the program. However, inevitably at some point I have to set the project aside and fire up a different one… perhaps one that was written months, or even years ago.

Several thoughts have repeatedly surfaced as I re-familiarize myself with an old project. Instead of having to collect them each time, I thought I’d write them down here, to serve as a reminder.

Read the entire article on the Zaengle blog →

Nov 10, 2017

Sorting Parent Eloquent Models by a Child Relationship

Recently I had a situation in a Laravel app where I needed to sort a collection of parent models by a particular value in a BelongsTo() relationship field.

It’s fairly simple to sort the opposite direction, meaning, to sort all the related models that belong to a parent model.

Read the entire article on the Zaengle blog →

Oct 6, 2016

Simplifying Conditional Expressions

As I’ve been reading through Refactoring by Martin Fowler, I’ve found it helpful to rewrite some of the examples from the book in PHP in order to cement the concepts into my mind. While Martin’s examples are primarily in Java, I’ve found an overwhelming majority of the concepts apply to PHP, which is where I spend most of my programming time.

In today’s article, I will attempt to rework the Simplifying Conditional Expressions (pp. 237-270) section into a handful of PHP-based examples.

Read the entire article on the Zaengle blog →

Apr 16, 2016

Replace Conditional with Polymorphism

Polymorphism is an extremely helpful technique to master. Take a look at this article to see it implemented in a Laravel application:

If you've ever done any research into refactoring, or programming in general, you've most likely heard the term "polymorphism". When I first came across it, I have to admit, I was intimidated.

Now that I've become more familiar with the concept, I can assure you, the word itself is more complicated than the underlying principle!

Read the entire article on the Zaengle blog →

Apr 15, 2016

Page 3 of 4 (33 total entries)