1 //---Tables-------- 1-users['name' , 'avatar' , .......], 2-messages ['id' , 'body' , 'from_user' , 'to_user' , 'created_at' , 'updated_at'], 3-conversations ['id' , 'first_user' , 'second_user' , 'date_of_last_message'], 2 // ----------Relations--------- **User Model :: public function messages() { return $this->hasMany(Message::Class); } **Convesation Model public function messages() { return $this->hasMany(Message::Class); } public function fiirst_user() { return $this->belongsTo('App\User','first_user'); } public function seecond_user() { return $this->belongsTo('App\User','second_user'); } **Message Model :: protected $fillable = array('statu'); public function user() { return $this->belongsTo('App\User'); } public function froom_user() { return $this->belongsTo('App\User','from_user'); } public function too_user() { return $this->belongsTo('App\User','to_user'); }