模型中相似的行(PHP Laravel)

4

我目前正在处理Eloquent模型,有一个名为TheSeries的模型,我需要根据TheGenres模型显示相似系列。

在您看来,在Laravel中应该在控制器或模型之间执行此操作?

您能否帮助我提供一段示例代码,以便我了解如何基于TheGenres模型返回基于genreID / genreName的相似系列。谢谢。

我需要相同的查询,但以Laravel \ Eloquent方式:

SELECT m2.* FROM mSeriesGenres m1 

    INNER JOIN mSeriesGenres m2 
        ON m1.genreID = m2.genreID 
    JOIN TheSeries m3 
        ON m3.id = m1.seriesID 

WHERE m1.seriesID = 13 AND m2.seriesID <> 13
GROUP BY m2.seriesID HAVING COUNT(*) = (SELECT COUNT(*) FROM mSeriesGenres WHERE seriesID = 13)

我想指出mSeriesGenres是多对多表。

1
在代码库中,你的模型描述数据集,控制器处理逻辑,而代码库将所有这些内容整合在一起。这将导致更干净、更易于维护的代码。 - michaeltintiuc
哦,谢谢,这是这个吗:andersao/l5-repository? - rossanmol
1
不需要额外的包,你可以轻松地自己定义它们,你可以通过谷歌搜索获得更多教程。当你的应用程序变得越来越复杂时,这绝对是正确的方法。https://bosnadev.com/2015/03/07/using-repository-pattern-in-laravel-5/ - michaeltintiuc
你能给我一个例子吗,例如如何根据类型返回3个相似的系列?有很多方法,但我想看看别人是如何做的,以确保我的方法是正确的。 - rossanmol
这在很大程度上取决于您的应用程序结构,如果您使用多对多关系或不使用,检查是否显示了最少量的“相似内容”等。基本检查需要匹配genre_id。 - michaeltintiuc
显示剩余3条评论
1个回答

1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接