2016-02-27 60 views
0

我試圖在我的網站上創建10個最喜歡的'Freestyles'列表。用口才處理Laravel中的喜歡

類似表中有自由式ID和用戶ID,自由式屬於類似的表。

我想知道如何在雄辯中表達這一點,並通過Freestyle ID檢索Like表中所有喜歡的SUM。

因此,在所有自由式ID = 1(例如)計數它們並返回金額的情況下。

對不起,如果沒有多大意義!

+0

你有什麼試過?如果你不知道,有一個count()方法。該文檔有一個很好的例子,可以滿足您的使用案例。 –

回答

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它提供了簡單的方法計數。

+1

啊!我認爲我把我的所有人混爲一談,這是我在架構方面的糟糕之處。 – ExohJosh