我是 Laravel 的新手。我在這里找到了一種如何計算文章瀏覽量的方法,我自己使用了它并且它可以正常作業
$viewed = Session::get('viewed_article', []);
if (!in_array($article->id, $viewed)) {
$article->increment('views');
Session::push('viewed_article', $article->id);
}
但我唯一不完全理解的是它是如何作業的,它是做什么的,這讓我感到有些不安。
誰不難,你能解釋一下這個功能是如何作業的嗎?
uj5u.com熱心網友回復:
第一行:
$viewed = Session::get('viewed_article', []);
使用Session外觀viewed_article從會話中獲取帶有鍵的資料,或者如果該鍵不存在,則設定$viewed為空陣列(第二個引數設定默認值)。
下一行,if宣告:
if (!in_array($article->id, $viewed)) {
確保當前文章 id 不在$viewed陣列中。
如果此條件為真(即文章不在陣列中),則文章上的視圖增加(即增加一):
$article->increment('views');
最后,文章id被添加到viewed_article會話資料中,所以下次代碼運行時,它不會再次計算視圖:
Session::push('viewed_article', $article->id);
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/312817.html
標籤:拉拉维尔
