diff --git a/src/Cmgmyr/Messenger/Traits/Messagable.php b/src/Cmgmyr/Messenger/Traits/Messagable.php index 60e2d81..f0a36cd 100644 --- a/src/Cmgmyr/Messenger/Traits/Messagable.php +++ b/src/Cmgmyr/Messenger/Traits/Messagable.php @@ -38,7 +38,7 @@ public function threads() { return $this->belongsToMany( Models::classname(Thread::class), - Models::classname(Participant::class), + Models::table('participants'), 'user_id', 'thread_id' ); diff --git a/tests/MessagableTraitTest.php b/tests/MessagableTraitTest.php index e427bb8..24a9600 100644 --- a/tests/MessagableTraitTest.php +++ b/tests/MessagableTraitTest.php @@ -46,6 +46,24 @@ public function it_should_get_all_threads_with_new_messages() $this->assertEquals(1, $user->newMessagesCount()); } + + /** @test */ + public function it_should_get_participant_threads() + { + $user = User::create( + [ + 'name' => 'Jane Doe', + 'email' => 'jane@example.com', + ] + ); + $thread = $this->faktory->create('thread'); + $user_1 = $this->faktory->build('participant', ['user_id' => $user->id]); + $user_2 = $this->faktory->build('participant', ['user_id' => 2]); + $thread->participants()->saveMany([$user_1, $user_2]); + + $threadsCount = $user->threads->count(); + $this->assertEquals(1, $threadsCount); + } } class User extends Eloquent