Php laravel 4-如何输出关系的不同值

Php laravel 4-如何输出关系的不同值,php,laravel,collections,laravel-4,distinct,Php,Laravel,Collections,Laravel 4,Distinct,我有一张透视表: 整体观点 id-事件\u id-问题\u id-实体\u id-立场\u值 实体参与事件,并通过参与揭示他们对问题的立场 问题12是“你喜欢蓝色吗?” 问题11是“你喜欢红色吗?” 事件“1”是“请说出你喜欢或不喜欢的颜色” 三条记录的简化案例: id - event_id - question_id - entity_id - standpoint_value 1 - 1 - 12 - 101 - 1 2 - 1 - 12 - 102 - 0 3 - 1 - 11 - 10

我有一张透视表: 整体观点 id-事件\u id-问题\u id-实体\u id-立场\u值 实体参与事件,并通过参与揭示他们对问题的立场

问题12是“你喜欢蓝色吗?”

问题11是“你喜欢红色吗?”

事件“1”是“请说出你喜欢或不喜欢的颜色”

三条记录的简化案例:

id - event_id - question_id - entity_id - standpoint_value
1 - 1 - 12 - 101 - 1
2 - 1 - 12 - 102 - 0 
3 - 1 - 11 - 103 - 1
实体101和102回答了问题12,实体103回答了问题11

我想做的是: 我想创建一个关系,列出一个事件中回答的所有问题,但我想打印不同的问题,而不重复它们-在这种情况下,问题12将打印两次

我在名为Event1的模型中定义了此关系:

public function question_byrel()
{
    return $this->hasMany('Entitystandpoint', 'event_id');
}
但当我做这样的foreach循环时:

@foreach ($object->question_byrel->unique() as $rq) 
....
@endforeach 
它会列出一个问题的所有发生。我想要 12号问题只打印一次。 unique()不起作用,至少不会使视图崩溃。 如何告诉L4哪个列应被视为“不同的”? unique('column_name')也不起作用

如果有人愿意提供高级建议:在最终版本中,我很乐意列出所有的问题,但另外,如果有多个实体回答同一个问题,我想在上述循环的一个周期内列举它们。 我很乐意只打印实体的数量,列出它们会很麻烦


Thx

如果您希望通过除
主键
以外的属性使
雄辩\收藏
项唯一,请执行以下操作:

@foreach ($object->question_byrel->keyBy('question_id') as $rq)

再次检查您的代码,因为这不会返回雄辩模型的副本。不,代码不起作用-据我所知,它不能,它不会通知Laravel,我想区分“问题id”。