Рубрики
Uncategorized

Пакет расширений для сбора статей: ларавель собирает

Автор оригинала: David Wong.

Laravel collect-это продолжение моей коллекции статей. В связи с любовью к cybercog/laravel я также имею честь участвовать в статьях сообщества об иностранных переводах этого расширения, чтобы добавить симпатии и антипатии к вашей красноречивой модели. Мое первоначальное намерение состоит в том, чтобы узнать, как разработать пакет расширения laravel, поэтому реализованные функции могут быть относительно простыми, пожалуйста, не распыляйтесь. Но это хорошо для студентов, которые хотят научиться разрабатывать пакет расширений laravel. Спасибо за вашу поддержку.

Недавно я обнаружил, что кто-то использовал мой пакет расширений для проекта, и у меня больше мотивации продолжать обновлять и улучшать. Сражайся!

устанавливать

При установке composer команда выглядит следующим образом:

$ composer require vetor/laravel-collect

Нам нужно выполнить команду миграции модели, которая будет Коллекции Публикация таблиц в нашей базе данных:

$ php artisan migrate

Воспользуйся

В нашем списке коллекционеров, т. е. Пользователь Внутри и снаружи необходимо реализовать Договор коллектора Интерфейс и ссылка Черта коллекционера :

use Illuminate\Foundation\Auth\User as Authenticatable;
use Vetor\Laravel\Collect\Collector\Models\Traits\Collector;
use Vetor\Contracts\Collect\Collector\Models\Collector as CollectorContract;

class User extends Authenticatable implements CollectorContract
{
    use Collector;
}

Если пользователям нужно собрать статьи, они могут Статья Реализация экстерьера и интерьера Коллекционный контракт Интерфейс и ссылка Коллекционная черта Ты можешь:

use Vetor\Laravel\Collect\Collectable\Models\Traits\Collectable;
use Vetor\Contracts\Collect\Collectable\Models\Collectable as CollectableContract;

class Article extends Model implements CollectableContract
{
    use Collectable;
}

Доступные методы

Для пользователей доступны следующие методы:

// collection
$user->collect($article);

//Cancel collection
$user->cancelCollect($article);

//All user's favorite records
$user->collections;

//User's favorite article record
$user->collectionsWhereCollectable(Article::class);

Методы, доступные для этой статьи, следующие:

// collection
$article->collect();

//Cancel collection (the default is the current user, and the user instance can be passed in as a parameter)
$article->cancelCollect();

//Get the collection of articles
$article->collections();

//Get article collections
$article->collections_count;

//Sort by collection (ascending 'ASC'; descending 'desc'; default ascending)
Article::orderByCollectionsCount()->get();

Мы можем получить все статьи в списке коллекций следующими способами:

Collection::whereCollectable(Article::class)->get();

Больше

Код см. в разделе GitHub warehouse vector/laravel collect для получения кода. Добро пожаловать, чтобы выдвинуть свои собственные идеи и указать на недостатки. Давайте учиться и прогрессировать вместе. Еще раз спасибо за любовь cyberdog/laravel.