Be part of JetBrains PHPverse 2026 on June 9 – a free online event bringing PHP devs worldwide together.

ThinkingMan's avatar

Eloquent Query Return to View breaks after 3 in array

I am not sure if the title is exactly correct but I have a query in my controller which performs a count on 3 data fields from two tables and is then supposed to return them to a dashboard view. I can get this to work when I have two of the three results post to the view but when I send all three to the view I get an error "Undefined variable: ordercounttoday (View: C:\xampp\htdocs\ecosystem\resources\views\home.blade.php)"

Here is the function in the controller

 public function show()
    {
        $ID = auth()->user()->id;

        $userorders = DB::table('order_headers')->where('user_id', $ID);
        $ordercount = $userorders->where('status', 'active')->count();

        $usertickets = DB::table('ticketit')->where('user_id', $ID);
        $ticketcount = $usertickets->where('status_id', '1')->count();

        $userorderstoday = DB::table('order_headers')->where('user_id', $ID);
        $ordercounttoday = $userorderstoday->where('delivery_date', '=',date('Y-m-d'))->count();


        return view('home', ['ordercount' => $ordercount], ['ticketcount' => $ticketcount], ['ordercounttoday' => $ordercounttoday]);
    }

Here is the view

@extends('layouts.default')
@section('title',  'Home' )

@section('content')
<div class="row">
    <div class="col-lg-12">
        <h1 class="page-header">Dashboard</h1>
    </div>
    <!-- /.col-lg-12 -->
</div>
<!-- /.row -->
<div class="row">
    <div class="col-lg-3 col-md-6">
        <div class="panel panel-yellow">
            <div class="panel-heading">
                <div class="row">
                    <div class="col-xs-3">
                        <i class="fa fa-shopping-cart fa-5x"></i>
                    </div>
                    <div class="col-xs-9 text-right">
                        <div class="huge">{{$ordercount}}</div>
                        <div><a href="/deliveries">Active Orders</a> </div>
                    </div>
                </div>
            </div>
            <a href="/deliveries">
                <div class="panel-footer">
                    <span class="pull-left">View Details</span>
                    <span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
                    <div class="clearfix"></div>
                </div>
            </a>
        </div>
    </div>
    <div class="col-lg-3 col-md-6">
        <div class="panel panel-green">
            <div class="panel-heading">
                <div class="row">
                    <div class="col-xs-3">
                        <i class="fa fa-truck fa-5x"></i>
                    </div>
                    <div class="col-xs-9 text-right">
                        <div class="huge">{{$ordercounttoday}}</div>
                        <div>Today's Deliveries!</div>
                    </div>
                </div>
            </div>
            <a href="#">
                <div class="panel-footer">
                    <span class="pull-left">View Details</span>
                    <span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
                    <div class="clearfix"></div>
                </div>
            </a>
        </div>
    </div>
    <div class="col-lg-3 col-md-6">
        <div class="panel panel-red">
            <div class="panel-heading">
                <div class="row">
                    <div class="col-xs-3">
                        <i class="fa fa-support fa-5x"></i>
                    </div>
                    <div class="col-xs-9 text-right">
                        <div class="huge">{{$ticketcount}}</div>
                        <div><a href="/tickets">Support Tickets</a> </div>
                    </div>
                </div>
            </div>
            <a href="/tickets">
                <div class="panel-footer">
                    <span class="pull-left">View Details</span>
                    <span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
                    <div class="clearfix"></div>
                </div>
            </a>
        </div>
    </div>
    <div class="col-lg-3 col-md-6">
        <div class="panel panel-green">
            <div class="panel-heading">
                <div class="row">
                    <a class="twitter-timeline" data-width="230" data-height="300" data-theme="light" href="https://twitter.com/MichaelJ_Duncan">Spyglass Retail Tweets</a> <script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script>

                </div>
            </div>
            <a href="https://twitter.com/MichaelJ_Duncan">
                <div class="panel-footer">
                    <span class="pull-left">View Details</span>
                    <span class="pull-right"><i class="fa fa-arrow-circle-right"></i></span>
                    <div class="clearfix"></div>
                </div>
            </a>
        </div>
    </div>


</div>
@endsection

0 likes
2 replies
realrandyallen's avatar
Level 44

Try sending the data to your view like this:

return view('home', ['ordercount' => $ordercount, 'ticketcount' => $ticketcount, 'ordercounttoday' => $ordercounttoday]);
jlrdw's avatar

Try ordercounttoday by itself to make sure there is data there.

Please or to participate in this conversation.