Laravel Befriended

Befriended использует трейты (traits) и интерфейсы (контракты) для реализации функционала подписки, блокировки и лайкинга. В Readme пакета используется модель User в качестве примера, но вы можете сделать то же самое с любой Eloquent моделью.

Например: вы можете позволить пользователю (User) подписываться (follow) на модели Company или Project.

Небольшой пример, как добавить возможность follow для Eloquent модели:


$eric = User::where('name', 'Eric Barnes')->first();
$user->follow($eric);

$user->following()->count(); // 1
$eric->followers()->count(); // 1

А в этом примере мы используем модель Page, которую можно фолловить (follow), но сама она не можете фолловить другие модели:


$ericPage = Page::where('username', 'ericlbarnes')->first();

$user->follow($ericPage);
$user->following()->count(); // 0, because it doesn't follow any User instance
$user->following(Page::class)->count(); // 1, because it follows only Eric's page.

Learn More

Больше информации по использованию и установке Laravel Befriended вы можете найти в примерах в официальном репозитории на Github.

Перевод статьи https://laravel-news.com/laravel-befriended

Опубликовано:

Категории: Пакеты