Laravel Foreach 在视图中重复
Laravel Foreach Repeating in View
所以,我有一个包含多个文本输入的表单。当用户使用这些输入发布信息时,它会与用户 ID、"type ID" 和用户输入一起放入我的模型中。所以我最终会在数据库中得到这样的东西。
ID User_ID Type_ID Type_Details
1 1 1 yada
2 1 1 foo
3 1 1 bar
在我看来我就是这么做的。
@foreach ($user->UserType as $type)
发生的事情是,在视图中我得到了 3 次输出,因为它看到用户 #1 的 "type_id"。作为参考,显示的 table 是连接用户模型和类型模型的枢轴 table。我只是添加了另一列来检索 type_details 信息。
最终,由于只有一个 Type_id (1),我只想使用 "yada"、"foo"、"bar" 显示该类型一次。不是3次。
谢谢!
您可以使用 Collections
:
对类型进行分组,而不是使用 foreach
$types = $user->UserType->implode('Type_Details', ', ')->toArray();
那么您可以在您的视图中显示为:
{{ $types }}
所以,我有一个包含多个文本输入的表单。当用户使用这些输入发布信息时,它会与用户 ID、"type ID" 和用户输入一起放入我的模型中。所以我最终会在数据库中得到这样的东西。
ID User_ID Type_ID Type_Details
1 1 1 yada
2 1 1 foo
3 1 1 bar
在我看来我就是这么做的。
@foreach ($user->UserType as $type)
发生的事情是,在视图中我得到了 3 次输出,因为它看到用户 #1 的 "type_id"。作为参考,显示的 table 是连接用户模型和类型模型的枢轴 table。我只是添加了另一列来检索 type_details 信息。
最终,由于只有一个 Type_id (1),我只想使用 "yada"、"foo"、"bar" 显示该类型一次。不是3次。
谢谢!
您可以使用 Collections
:
$types = $user->UserType->implode('Type_Details', ', ')->toArray();
那么您可以在您的视图中显示为:
{{ $types }}