I'm kinda confused how the eloquent relationships works in Laravel 5.4. I got a school model that has a "hasMany" relationship with my user model:
public function users()
{
return $this->hasMany('App\User');
}
The user is not required to be linked to a school though, so I haven't put the belongsTo (school) function on my user model.
How should I link the user to a school, when I create the user and how can I pull all users in a specific school into a view, for example?
If the user can only belong to one school, the most straightforward approach would be to add a school_id
column to the users
table. Since it's not required, you can allow for it to be null. This will allow you to run $school->users
to retrieve a list of users for a given school.
I would also recommend adding the belongsTo
relationship to the User model, so you can do $user->school
to retrieve a user's school when applicable. It's okay that it'll be null for some users.