In the example at the documentation when its said that a user has one profile it means that a user can only have one profile.
Therefor is a one to one relationship. You can choose where you prefer to have the foreign key, and they preferred to use it on the profile
table.
Your images are wrong. In your case it would be a one to many. Which is a hasMany
+ belongsTo
.
They just decided that there will be only one profile per user, if you want to have many profiles per user, then it won't be a hasOne
. That's your decision.