Sql 拉威尔计数关系

Sql 拉威尔计数关系,sql,laravel,eloquent,Sql,Laravel,Eloquent,我试图计算主表上通过关系的关系中的行数。我一共有三张桌子 调查: | id | 问题: | id | survey|u id | 答复: | id |问题| id | 我正试图从调查表中获取回复表中的总数。我已经建立了所有的关系,但我似乎无法得到总数 我曾尝试使用count('questions.responses')执行->,但这会导致500个错误。我知道我可以循环使用,但不知道是否有更有效的方法在雄辩中使用。你可以使用关系来实现它 在您的模型中: /*Survey.php*/ 公共职能回应(

我试图计算主表上通过关系的关系中的行数。我一共有三张桌子

调查:

| id |

问题:

| id | survey|u id |

答复:

| id |问题| id |

我正试图从调查表中获取回复表中的总数。我已经建立了所有的关系,但我似乎无法得到总数


我曾尝试使用count('questions.responses')执行
->,但这会导致500个错误。我知道我可以循环使用,但不知道是否有更有效的方法在雄辩中使用。

你可以使用关系来实现它

在您的模型中:

/*Survey.php*/
公共职能回应()
{
返回$this->hasManyThrough(Response::class,Question::class);
}
然后在控制器中:

/*SurveyController.php*/
公共职能指数()
{
//获取具有所需属性的调查:
$surveys=Survey::withCount('responses')->get();
返回视图(“my_cool_view”)->带有surveys($surveys);
}

您可以使用关系来实现它

在您的模型中:

/*Survey.php*/
公共职能回应()
{
返回$this->hasManyThrough(Response::class,Question::class);
}
然后在控制器中:

/*SurveyController.php*/
公共职能指数()
{
//获取具有所需属性的调查:
$surveys=Survey::withCount('responses')->get();
返回视图(“my_cool_view”)->带有surveys($surveys);
}

你定义了一个HasManyThrough关系?你甚至没有想过,你能添加一个答案让我接受你定义了一个HasManyThrough关系吗?你甚至没有想过,你能添加一个答案让我接受吗?我希望你不介意我更新了你的问题。我是在你发布你的帖子时回答的,考虑到你提出了这种方法,我认为这是正确的做法,而不是我自己发布。如果您愿意,您可以随意撤销此操作。祝你一天愉快。谢谢你的编辑,朋友。我一点也不介意,祝你愉快:)我希望你不介意我更新了你的问题。我是在你发布你的帖子时回答的,考虑到你提出了这种方法,我认为这是正确的做法,而不是我自己发布。如果您愿意,您可以随意撤销此操作。祝你一天愉快。谢谢你的编辑,朋友。我一点也不介意,祝你愉快:)