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