Counting data before sending to view in Laravel

laravel pass data to view from controller
laravel display data in view
laravel view::share
laravel view composer
laravel count rows in view
how to pass data from one view to another view in laravel
laravel db::select count
how to use count in laravel

I have two tables, products and product_images, now I want to show product which has at least one image.

In controller I have a simple function in ProductController to fetch all the products:

public function products(){
    $allProducts = $this->product->paginate(15);
    return view('frontend.pages.products',compact('allProducts'));
}

But, I want to send the products which has at least one image of each product.

What should I do to achieve that?

Edit:

I have created relationship between tables, now how can I get my desired answer?

I have written this in the Controller:

$allProducts = $this->product->whereHas('product_images', function ($query){
        $query->where();
    })->get();

Assuming table schema

product

    -id
    -name

product_image

    -id
    -product_id
    -url //any columns you needed


$product_ids = DB::table('product')
                  ->join('product_image','product_image.product_id','=','product.id')
                  ->select('product.id','roduct.name')
                  ->groupBy('product.id')
                  ->get();

$product_count = count($product_ids);

How to show Count Data in Laravel 5, You can use the query builder in this way: DB::table('tb_surat')->count(). For this example, we'll be sending an email with SendGrid using the SMTP Driver. For more information, check out the docs for Laravel's Mail interface. Laravel 5.5 LTS uses Mailable classes. Mailables in Laravel abstracts building emails with a mailable class. Mailables are responsible for collating data and passing them to views. Before you begin

Eloquent has this built in.

Example
// Retrieve all posts that have three or more comments...
$posts = App\Post::has('comments', '>=', 3)->get();
In your case

In your case you could change the $allProducts line to be

 $allProducts = $this->product()->has('product_image', '>=', 1)->paginate(15);

I didn't test the code above.

See documentation for more information on this topic. https://laravel.com/docs/6.x/eloquent-relationships#querying-relationship-existence

Counting data before sending to view in Laravel, Counting data before sending to view in Laravel. I have two tables, products and product_images, now I want to show product which has at least one image. I am using Laravel 5.4 and I want to view my data in database from before return to view can you check result You can send data from controller via

You can use selectRaw:

$products = Product::leftJoin('product_images',function ($join){
        $join->on('products.product_id','=','product_images.product_id');
    })->selectRaw("products.product_id i, count(product_images.id) c")
        ->groupBy('products.product_id')
        ->where('c','>=',3)
        ->get();

Views - Laravel, d product_images, now I want to show product which has at least one image. In controller I have a simple function in ProductController to fetch� The second argument to view() is an array which holds dynamic data that we can pass to the view file. We took a close look at how to use this array, as well as access the data in our view files using both native PHP and Laravel’s Blade templating engine.

Getting answer querying realtionship:

The query will look like following:

$allProducts = $this->product->has('Images')->paginate(15);

But, make you sure you have created relation in Model like the following:

public function Images(){
    return $this->hasMany('\App\Models\ProductImages');
}

I have used hasMany relationship because one product can have multiple images.

Counting data before sending to view in Laravel, 1 of 4 replies September 7, 2017. elo's avatar elo � Laravel � elo • What I'm trying to do is count the value of a collection right inside a blade view and display the That result contains data as i can see array when i die and dump it. blade view Sadiq79 and Ain, he forgot to send the variable 'pendingMembers' to the view. Since sending email messages can drastically lengthen the response time of your application, many developers choose to queue email messages for background sending. Laravel makes this easy using its built-in unified queue API. To queue a mail message, use the queue method on the Mail facade after specifying the message's recipients:

How do I display the value of count() inside blade view?, Get code examples like "get count laravel" instantly right from your google 404 - Not Found when running laravel on valet � <?php function pre_r($array){ echo display data from two dimensional array in vew laravel � display image in php how to pass value from one php page to another using session� If your component requires dependencies from Laravel's service container, you may list them before any of the component's data attributes and they will automatically be injected by the container: use App\AlertCreator /** * Create the component instance.

get count laravel Code Example, Seen this article before? skip straight to the newer tips that I've added in Feb 2019. You can modify it further by copying the 503.blade.php to your views dir. You can pass a file path to your route's group() to include that file The normal pagination will count how many total rows there are and calculate� To increment our post view counter, we will be making use of Laravel's Event system. This gives us a way of firing certain actions when something happens in your application. You might have already used these when working with Eloquent.

Laravel features you may not know about, How To Pass Data To Views In Laravel How about we set up a route such that when we visit /games , we will see a @for($i = 0; $i < count($games); $i++). Each database table has a corresponding "Model" which is used to interact with that table. Models allow you to query for data in your tables, as well as insert new records into the table. Before getting started, be sure to configure a database connection in config/database.php.

Comments
  • If you are using relations then by using whereHas and count() you can do it.
  • I have not used relation. Is it only possible with relations?
  • Can you show schema of both tables?
  • How can we write query to fetch products which has images? I have edited my question.
  • Deshmukh Your code works perfectly but can you please also add how we can get with relationship?
  • @Alisha Follow this link link which explains details of relationship. laravel.com/docs/5.8/eloquent-relationships
  • The above code says: Method App\Http\Controllers\FrontController::product does not exist.
  • Oh sorry, what was the $this->product originally pointing to? You will need to reference your Eloquent model here.