用口才处理Laravel中的喜欢

用口才处理Laravel中的喜欢

问题描述:

我试图在我的网站上创建10个最喜欢的'Freestyles'列表。用口才处理Laravel中的喜欢

类似表中有自由式ID和用户ID,自由式属于类似的表。

我想知道如何在雄辩中表达这一点,并通过Freestyle ID检索Like表中所有喜欢的SUM。

因此,在所有自由式ID = 1(例如)计数它们并返回金额的情况下。

对不起,如果没有多大意义!

+0

你有什么试过?如果你不知道,有一个count()方法。该文档有一个很好的例子,可以满足您的使用案例。 –

所以,你有两种型号:

自由式(表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