我的控制器$ course_id中有一个变量,它是一个数组:
array:3 [▼
0 => 2
1 => 0
2 => 2
]
当我尝试将其用作查找语句的一部分时,任何重复的值都会被忽略,所以
$courses = Course::with(['orders'])->orderBy('id', 'asc')->find($course_id);
我的观点中有以下内容
<?php foreach($courses as $course){
echo $course->id;};
?>
输出为'02' 我需要'202' 知道如何阻止复制被覆盖吗?
由于数据透视表等原因,有很多事情要进入这个阶段,但这些都可以在我的客户控制器中找到,我需要显示他们的订单和课程详细信息等。
public function show($id)
{
$customer = Customer::with(['orders'])->findOrFail($id);
foreach($customer->orders as $order){
$order_id[] = $order->id;
$course_id[] = $order->course_id;
$delivery_mode_id[] = $order->delivery_mode;
$campus_id[] = $order->location;
};
$orders = Order::with(['courses'])->orderBy('id', 'asc')->find($order_id);
$courses = Course::with(['orders'])->orderBy('id', 'asc')->where($course_id);
$delivery_modes = DeliveryMode::with('orders')->orderBy('id', 'asc')->find($delivery_mode_id);
$campuses = Campus::with('orders')->orderBy('id', 'asc')->find($campus_id);
return view('customers.show', compact('customer', 'courses', 'orders', 'delivery_modes', 'campuses', 'order'));
}
以下是我需要它输出的方法,当ID是唯一的时它可以正常工作但是当我订购相同的课程,位置或交付方法中的2时,重复项不会出现。
<tbody>
<tr>
@foreach($courses as $course)
<td style="border-bottom:0; border-right:1px solid #dbdbdb;">{{$course->name}}</td>
@endforeach
</tr>
<tr>
@foreach($campuses as $campus)
<td style="border-bottom:0; border-right:1px solid #dbdbdb;">{{$campus->name}}</td>
@endforeach
</tr>
<tr>
@foreach($delivery_modes as $delivery_mode)
<td style="border-bottom:0; border-right:1px solid #dbdbdb;">{{$delivery_mode->name}}</td>
@endforeach
</tr>
<tr>
@foreach($orders as $order)
<td style="border-bottom:0; border-right:1px solid #dbdbdb;"><?php $displaycomdate = date("d-m-Y", strtotime($order->start_date)); echo $displaycomdate ?></td>
@endforeach
</tr>
</tbody>
答案 0 :(得分:2)
&#34;查找与#34;返回基于主键的单个结果。当您在寻找单个特定结果时使用它。
&#34;其中&#34;返回符合您限制的所有结果。如果需要多个结果,请使用此选项。
答案 1 :(得分:1)
阅读完您的视图后,您应该在控制器中更改您的查询(假设您已在模型中创建了所有必要的关系)
$orders = Order::with(['courses','campuses','delivery_modes'])->orderBy('id', 'asc')->find($order_id);
这样做的目的是在一个查询中提取特定客户的订单以及课程,位置/校园和交付模式,这样您就不再需要查询$ courses $ campuses $ delivery_modes了,然后在您的视图中,您只需循环 $ orders-&gt;课程,$ orders-&gt;校园,$ orders-&gt; delivery_modes 以列出所有这些信息