摘要:是我開發的一個收藏文章的擴展,借鑒于,我也有幸參加了社區對該擴展的外文翻譯文章為你的模型添加喜歡和討厭功能。但是對于想學習開發擴展包的同學還是不錯的。最近發現已經有人使用我的擴展包到項目里,我更有動力不斷更新完善。
Laravel Collect 是我開發的一個收藏文章的擴展,借鑒于 cybercog/laravel-love ,我也有幸參加了社區對該擴展的外文翻譯文章 為你的 Eloquent 模型添加喜歡和討厭功能。我的初衷是學習怎么開發 Laravel 擴展包,所以實現的功能可能比較簡單,請大神勿噴。但是對于想學習開發 Laravel 擴展包的同學還是不錯的。望大家點贊支持,感謝。
最近發現已經有人使用我的擴展包到項目里,我更有動力不斷更新完善。fight!
安裝通過 composer 安裝,命令如下:
$ composer require vetor/laravel-collect
我們需要執行模型遷移命令,將 Collections 表發布到我們的數據庫:
$ php artisan migrate使用
在我們的收藏者表,即 User 表里需要實現 CollectorContract 接口,并引用 Collector trait:
use IlluminateFoundationAuthUser as Authenticatable; use VetorLaravelCollectCollectorModelsTraitsCollector; use VetorContractsCollectCollectorModelsCollector as CollectorContract; class User extends Authenticatable implements CollectorContract { use Collector; }
如果用戶需要收藏文章,在 Article 表里實現 CollectableContract 接口并引用 Collectable trait 即可:
use VetorLaravelCollectCollectableModelsTraitsCollectable; use VetorContractsCollectCollectableModelsCollectable as CollectableContract; class Article extends Model implements CollectableContract { use Collectable; }可用的方法
對于用戶來說,可用的方法有:
// 收藏 $user->collect($article); // 取消收藏 $user->cancelCollect($article); // 用戶的所有收藏記錄 $user->collections; // 用戶收藏的文章記錄 $user->collectionsWhereCollectable(Article::class);
文章可用的方法有:
// 收藏 $article->collect(); // 取消收藏(默認為當前用戶,可以把用戶實例作為參數傳入) $article->cancelCollect(); // 獲取文章的收藏情況 $article->collections(); // 獲取文章收藏數 $article->collections_count; // 根據收藏數排序(升序 "asc";降序 "desc";默認為升序) Article::orderByCollectionsCount()->get();
我們可以通過下面的方法來獲取收藏表里所有文章:
Collection::whereCollectable(Article::class)->get();更多
代碼參見 Github 倉庫 vetor/laravel-collect,歡迎大家提出自己的想法,指出不足,我們一起學習進步。再次感謝 cybercog/laravel-love 。
文章版權歸作者所有,未經允許請勿轉載,若此文章存在違規行為,您可以聯系管理員刪除。
轉載請注明本文地址:http://specialneedsforspecialkids.com/yun/31652.html
摘要:通過添加此功能,該程序包將啟用記錄請求和響應信息所需的功能。是一條普通控制器路由,用于輸出控制臺的視圖。收集瀏覽器行為這是整個擴展包最乏味的部分。 Laravel Dusk 控制臺是一款 Laravel 擴展包,能夠為你的 Dusk 測試套件提供漂亮的可視面板。通過它,你可以可視化運行 Dusk 測試時涉及的各個步驟,以及查看每個步驟的 DOM 快照。這對于調試瀏覽器測試、并搞清楚后臺...
摘要:將返回通過回調真值測試的第一個項的鍵。方法將集合分割為多個給定大小的較小集合。它可用于在任何位置的調試和查找集合內的內容。方法用于遍歷整個集合。這對集合同樣有效。它將導致由第二個參數的值作為鍵的集合。它接受回調并傳遞并將集合傳遞給它。 showImg(https://segmentfault.com/img/remote/1460000018924972); 文章轉自:https://...
摘要:注本文是翻譯寫的關于調試技巧,讀完以后很實用,分享給大家閱讀過程中,翻譯有錯誤的希望大家指正原文鏈接最近我一直在使用的,如果你還不了解,我簡單說下一個集合就是一個功能強大的數組有很多強大處理其內部數據的函數但是唯一讓我頭疼的地方是如何調試的 注:本文是翻譯Freek Van der Herten寫的關于Collection調試技巧,,讀完以后很實用,分享給大家.閱讀過程中,翻譯有錯誤的...
摘要:方法可以傳一個單一值,或一組鍵值對或者一個回調函數,然后它會返回一個布爾值來告知目標內容是否在集合中。排序方法接受一個鍵或回調函數參數用于對集合進行排序。獲取一個集合中所有數字的和方法通過回調函數傳遞每個數據項。 showImg(https://segmentfault.com/img/remote/1460000018726031?w=1252&h=640); 文章轉自:https:...
摘要:個人網站最近剛寫了一個手機在線播放的電影站使用日常手記更新使用的的查詢作用域的本地作用域去自定義可復用的約束集合,方便鏈式調用什么是本地查詢作用域本地作用域允許我們定義通用的約束集合以便在應用中復用。 關于作者 程序開發人員,不拘泥于語言與技術,目前主要從事PHP和前端開發,使用Laravel和VueJs,App端使用Apicloud混合式開發。合適和夠用是最完美的追求。 個人網站:...
閱讀 2465·2021-09-09 09:33
閱讀 2865·2019-08-30 15:56
閱讀 3119·2019-08-30 14:21
閱讀 891·2019-08-30 13:01
閱讀 855·2019-08-26 18:27
閱讀 3584·2019-08-26 13:47
閱讀 3449·2019-08-26 10:26
閱讀 1583·2019-08-23 18:38