hasOne and belongsTo confuse me!
Feb 5, 2022
This title comes from a Reddit post I saw the other day. The poster argues that the hasOne()
and belongsTo()
model methods are "counter-intuitive".
My first instinct was to think he was wrong. But the more I thought about it the more I remembered that I have been confused by these relationships many times.
A rule of thumb
The post also mentioned a rule of thumb that might be helpful for anyone reading.
The class that has the foreign key uses belongsTo()
A cheatsheet
Seems about right for me, but I think I'll still get confused sometimes. That's why I made a simple cheatsheet to help me remember which is which. I also added many to many relationships since I know when I just started I always forgot where the foreign keys were supposed to go in those as well.
Download it below 👇
You might also like
Is your site slow? Check your database queries
Feb 3, 2022
Which is faster: whereHas vs join
Sep 28, 2022