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