我試圖在我的網站上創建10個最喜歡的'Freestyles'列表。用口才處理Laravel中的喜歡
類似表中有自由式ID和用戶ID,自由式屬於類似的表。
我想知道如何在雄辯中表達這一點,並通過Freestyle ID檢索Like表中所有喜歡的SUM。
因此,在所有自由式ID = 1(例如)計數它們並返回金額的情況下。
對不起,如果沒有多大意義!
我試圖在我的網站上創建10個最喜歡的'Freestyles'列表。用口才處理Laravel中的喜歡
類似表中有自由式ID和用戶ID,自由式屬於類似的表。
我想知道如何在雄辯中表達這一點,並通過Freestyle ID檢索Like表中所有喜歡的SUM。
因此,在所有自由式ID = 1(例如)計數它們並返回金額的情況下。
對不起,如果沒有多大意義!
所以,你有兩種型號:
自由式(表Freestyles系列)和贊(表喜歡)。
類似的是用戶給自由式的東西。因此,一個喜歡屬於自由式和自由式有很多喜歡。請注意我在我的措辭中使用的術語。 Like也屬於一個用戶,但這對於你的問題並不重要。
爲了獲得一個Freestyle的總喜歡,你應該把關係定義爲一個「hasMany」。
class Freestyle extends \Eloquent {
public function likes() {
return $this->hasMany(Like::class);
}
}
有了這種關係,你現在可以指定喜歡的總數,使用的關係:
Freestyle::find(1)->likes->count();
喜歡(作爲屬性調用,而不是一個方法調用)將返回一個\Illuminate\Database\Eloquent\Collection
它提供了簡單的方法計數。
啊!我認爲我把我的所有人混爲一談,這是我在架構方面的糟糕之處。 – ExohJosh
你有什麼試過?如果你不知道,有一個count()方法。該文檔有一個很好的例子,可以滿足您的使用案例。 –