1

我正在开发一个能够创建调查的小型应用程序,并且在这些调查中存在问题,其中问题可以是简单的输入表单或复选框的形式。

我的问题与多个值(无线电输入)有关,我有一个名为“答案”的表,具有上述结构:

Answers (table):
- id;
- question_id;
- answer;
- email;

在我的一个后端页面中,我有一个表格,我在其中循环问题和答案。

工作正常,但问题是当我有多个值时,标题表(问题)开始减少列正文的答案,这是因为答案的数量。

我使用 eloquent 和 collection 创建了这个查询,其中首先我 orderByGroup of 'email'。

$survey = Survey::find($id);

return $survey->answers->groupBy('email');

它为我提供了来自每封电子邮件的一组分组答案,这很棒,但现在我需要在电子邮件组中对问题进行分组,在我的情况下为“question_id”。但不是为我工作。

我尝试了类似的东西

 return $survey->answers->groupBy('email')->groupBy('question_id');

但它不起作用。

4

1 回答 1

1

由于该groupBy()方法接受多个参数并对其进行迭代:

public function groupBy(...$groups)
{
    foreach ($groups as $group)

做这个:

return $survey->answers->groupBy('email', 'question_id');
于 2017-03-23T15:20:31.653 回答