首页 > 解决方案 > 为什么我的 foreach 循环不适用于所有行

问题描述

我对必须从表中获取值并从其他表中获取总和和计数的每个循环都有问题,这取决于循环中的选定行

这是我的代码:

$flights = Basic::all();

    foreach ($flights as $flight) {
       if($flight->cur_allowed_seats > '0'){
           $basics_id = Basic::find($flight->id);
           $inf_count = Ticket::where([['sector',$flight->sector],['pass_type','3'],['flight_date',$flight->flight_date]])->get()->count();
           $child_count = Ticket::where([['sector',$flight->sector],['pass_type','2'],['flight_date',$flight->flight_date]])->get()->count();
           $total_sale = DB::table('tickets')
               ->where([['sector', $flight->sector],['flight_date',$flight->flight_date]])
               ->sum('sale');
           $free_seats_per1= DB::table('basics')->where('id', $flight->id)->first()->cur_total_seats;
           $free_seats_per2= DB::table('basics')->where('id', $flight->id)->first()->total_seats;
           $free_seats_per=$free_seats_per1/$free_seats_per2*100;
           return view('home', array('flights' => $flights,'basics_id' => $basics_id,'inf_count' => $inf_count,
               'child_count' => $child_count,'total_sale' => $total_sale,'free_seats_per' => $free_seats_per,
           ));
       }

这是刀片代码:

  <div class="content-body">
            @foreach($flights as $flight)
            <h1 class="content-header-title mb-0">{{ $flight->sector }} <span style="color: red">{{ $flight->flight_date }}</span></h1>
            <!-- eCommerce statistic -->
            <div class="row">

                <div class="col-xl-3 col-lg-6 col-12">
                    <div class="card pull-up">
                        <div class="card-content">
                            <div class="card-body">
                                <div class="media d-flex">
                                    <div class="media-body text-left">
                                        <h3 class="info" >{{ $flight->cur_total_seats }}</h3>
                                        <h6  style="font-size:12px;font-weight: bold">المقاعد الشاغرة بحائل</h6>
                                    </div>
                                    <div>
                                        <i class="icon-flag info font-large-2 float-right"></i>
                                    </div>
                                </div>
                                <div class="progress progress-sm mt-1 mb-0 box-shadow-2">
                                    {{--                                        {{ format_number((($basics_has->cur_total_seats/$basics_has->total_seats) * 100), 2) }}%--}}
                                    <div class="progress-bar bg-gradient-x-info" role="progressbar" style="width: {{ $free_seats_per }}%"
                                         aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="col-xl-3 col-lg-6 col-12">
                    <div class="card pull-up">
                        <div class="card-content">
                            <div class="card-body">
                                <div class="media d-flex">
                                    <div class="media-body text-left">
                                        <h3 class="info" >{{ $child_count }}</h3>
                                        <h6  style="font-size:12px;font-weight: bold">عدد الأطفال المحجوز بحائل</h6>
                                    </div>
                                    <div>

                                        <i class="icon-user-following info font-large-2 float-right"></i>
                                    </div>
                                </div>
                                <div class="progress progress-sm mt-1 mb-0 box-shadow-2">

                                    <div class="progress-bar bg-gradient-x-info" role="progressbar" style="width: {{ $flight->percent }}%"
                                         aria-valuenow="80" aria-valuemin="0" aria-valuemax="100"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>

                <div class="col-xl-3 col-lg-6 col-12">
                    <div class="card pull-up">
                        <div class="card-content">
                            <div class="card-body">
                                <div class="media d-flex">
                                    <div class="media-body text-left">
                                        <h3 class="success">{{$inf_count}}</h3>
                                        <h6 style="font-size:12px;font-weight: bold">عدد الرضع المحجوز بحائل</h6>
                                    </div>
                                    <div>
                                        <i class="la la-user success font-large-2 float-right"></i>
                                    </div>
                                </div>
                                <div class="progress progress-sm mt-1 mb-0 box-shadow-2">
                                    <div class="progress-bar bg-gradient-x-success" role="progressbar" style="width: 80%"
                                         aria-valuenow="75" aria-valuemin="0" aria-valuemax="100"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <div class="col-xl-3 col-lg-6 col-12">
                    <div class="card pull-up">
                        <div class="card-content">
                            <div class="card-body">
                                <div class="media d-flex">
                                    <div class="media-body text-left">
                                        <h3 class="danger">{{$total_sale}}</h3>
                                        <h6 style="font-size:12px;font-weight: bold">إجمالي مبيعات حائل</h6>
                                    </div>
                                    <div>
                                        <i class="la la-dollar danger font-large-2 float-right"></i>
                                    </div>
                                </div>
                                <div class="progress progress-sm mt-1 mb-0 box-shadow-2">
                                    <div class="progress-bar bg-gradient-x-danger" role="progressbar" style="width: 85%"
                                         aria-valuenow="85" aria-valuemin="0" aria-valuemax="100"></div>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
            </div>

@endforeach

        </div>

我的问题是,除了“基本”之外的任何表中的任何值都只返回一个值而不是循环,有人可以帮我解决这个问题吗?

标签: laravel

解决方案


推荐阅读