If the data is really all different, you could do the following:
-
userstable:id | role | first_name | last_name | email | password | ...other default fields of Laravel Auth -
data_memberstable:id | user_id | ...Other data for Members -
data_secretariestable:id | user_id | ...Other data for Secretaries
Relations would be:
- User Model:
public function dataMember() {return $this->belongsTo(DataMember::class);}
public function dataSecretary() {return $this->belongsTo(DataSecretary::class);}
- DataMember Model:
public function user() {return $this->hasOne(User::class);}
- DataSecretary Model:
public function user() {return $this->hasOne(User::class);}
to get the data:
if($user->role === 'member') :
$user->load('dataMember');
else:
$user->load('dataSecretary');
endif;
Edit
Just to be clear, Login Form would remain the same.
I would advise creating a MiddleWare, which would differentiate Users based on their roles. So they would see different pages like, Profile Page, Change your Settings, and so on...