Laravel Collect-это расширение моей коллекции статей, разработанной Cybercog/laravel -love. Я также имел честь участвовать в переводе сообществом расширенных статей на иностранные языки, чтобы добавить симпатии и антипатии к вашей Красноречивой модели. Мое первоначальное намерение состоит в том, чтобы узнать, как разработать пакет расширения 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 Collection Records of Users $user->collections; // User's Collection of Articles Records $user->collectionsWhereCollectable(Article::class);
Методы, доступные в этой статье, следующие:
// Collection $article->collect(); // Cancel Collection (default is the current user, you can pass in user instances as parameters) $article->cancelCollect(); // Access to Article collections $article->collections(); // Get the number of collections of articles $article->collections_count; // Sort by number of collections (asc; desc; ASC by default) Article::orderByCollectionsCount()->get();
Мы можем получить все статьи в таблице коллекции следующим образом:
Collection::whereCollectable(Article::class)->get();
Больше
См. Вектор репозитория Github/laravel-сбор кода. Добро пожаловать, чтобы выдвинуть свои собственные идеи, указать на недостатки, и давайте учиться и прогрессировать вместе. Еще раз спасибо вам за cyberdog/laravel-любовь.