PHP

How to use whereHas() and with() in laravel 8?

Laravel is very famous and widely used PHP Framework. Nowadays, I am doing development in Laravel along with other RoR and Java projects.

I was working on a Laravel 8 project in which I had to show related records and also by any criteria if related record doesn’t exist then don’t show main any record.

To achieve required results, I used whereHas() and with() eloquent methods. For this, there must be hasMany() and belongTo() method defined in models.

For example, I had two models Customer and Order.

In Customer Model.

public function orders() {
 $this->hasMany("Order");
} 

In Order Model.

public function customer() {
 $this->belongsTo("Cutomer");
}

Then, I created a repository file where I write all queries.

public function fetchCustomerOrders($where) {
 $callBack = function ($query) use($where) {
 $query->where(“customer_id”, “=”, $where[“customer_id”])
}
$customers = Customer::whereHas(“orders”, $callback)
->with([‘order’ => $callback])->get();
return $customers;
}

To make code clean, I made a where clause function in “$callback” variable, you can also create a separate private function in which you can define all your where clause and then call it in whereHas and with clauses.

I hope this will help.

websourceblog

ReactJs, NodeJs, Amazon Web Services, Symfony, Laravel, CodeIgniter, Zend Framework, WordPress, Drupal, Magento, Angular

Recent Posts

AI Prompt Engineering Bible (7 Books in 1) – Master ChatGPT & Generative AI

Artificial Intelligence is transforming how we work, create, and earn. But most people get stuck…

1 month ago

How Digital Transformation Services Drive Business Growth

In today’s fast-paced world, businesses can no longer rely solely on traditional methods to stay…

1 month ago

How to Add an Addon Domain in GoDaddy with Web Hosting Deluxe

Add an Addon Domain in GoDaddy with Web Hosting Deluxe (Step-by-Step Guide). If you are…

3 months ago

Developing a RESTful API with Node.js, Express.js, MongoDB, and TypeScript

The ability to create reliable APIs is essential in today's web development environment. I'll show…

5 months ago

XML in REST API response and SOAP XML.

The difference between XML that we get in response to any REST API and XML…

10 months ago

How to install and configure Apache2 on WSL2?

I hope you already have WSL2 installed and enabled. So, setting up Apache2 on WSL2…

1 year ago