How to Use Laravel WhereIn Query with Examples

Laravel is a powerful PHP framework that helps developers build elegant applications while adhering to the best coding practices.

One of Laravel’s strengths is its Eloquent ORM (Object-Relational Mapping), which allows developers to interact with databases using a simple and efficient syntax.

In this article, we will explore how to use the WhereIn query in Laravel Eloquent, which allows you to match a specified column against an array of values.

This feature comes in handy when you want to fetch records that match specific conditions. We will also provide examples using Laravel versions 6 through 10.

 

What is Laravel WhereIn Query?

The Laravel WhereIn query is an Eloquent method that enables developers to fetch records from a database based on a specific column and a set of values. It works like the SQL IN operator and is useful for scenarios where you need to match records against multiple values. Laravel’s WhereIn method provides a clean, simple syntax that makes it easy to use in your application.

 

Understanding Laravel WhereIn Query Syntax

The syntax for the WhereIn query in Laravel is as follows:

whereIn(column_name, array_of_values);

You need to pass two arguments to the WhereIn method:

  1. The column name you want to filter by.
  2. An array of values to match against the specified column.

 

Laravel WhereIn Query Example 1

In this example, we will use the WhereIn query to fetch users with specific IDs. First, let’s look at the SQL query:

SELECT *
FROM users
WHERE id IN (4, 5, 6);

Now, let’s implement the same query using Laravel Eloquent:

public function getUsers()
{
    $users = User::select('*')
                ->whereIn('id', [4, 5, 6])
                ->get();

    return $users;
}

 

Laravel WhereIn Query Example 2

In this example, we will demonstrate how to use a comma-separated string of values in a WhereIn query. First, we will convert the string into an array:

public function getUsers()
{
    $idString = '1,2,3';
    $idArray = explode(',', $idString);
    
    $users = User::select('*')
                ->whereIn('id', $idArray)
                ->get();

    return $users;
}

Laravel WhereIn Query Example 3

In this example, we will use the DB facade to fetch users based on their names:

use Illuminate\Support\Facades\DB;

public function getUsersByName()
{
    $users = DB::table('users')
                ->whereIn('name', ['John', 'Jane', 'Sam'])
                ->get();

    return $users;
}

 

Conclusion

In this article, we have explored the Laravel WhereIn query and its usage in various scenarios. The WhereIn method offers a clean, simple syntax that allows you to match a specified column against an array of values.

Understanding and utilizing this method will help you create more efficient andelegant applications using Laravel Eloquent. With the examples provided, you should now have a better understanding of how to use the WhereIn query in your own Laravel applications.

 

Frequently Asked Questions

 

What is the Laravel WhereIn query used for?

The Laravel WhereIn query is used to fetch records from a database based on a specific column and an array of values. It works like the SQL IN operator and is useful when you need to match records against multiple values.

 

Can I use the Laravel WhereIn query with a comma-separated string?

Yes, you can use the Laravel WhereIn query with a comma-separated string by first converting the string into an array using the explode() function.

 

How do I use the WhereIn query with the DB facade in Laravel?

To use the WhereIn query with the DB facade, first import the Illuminate\Support\Facades\DB namespace. Then, you can use the DB::table('table_name') method, followed by the whereIn() method with the desired column name and array of values.

 

Can I use the Laravel WhereIn query with other Eloquent methods?

Yes, the Laravel WhereIn query can be combined with other Eloquent methods, such as select(), orderBy(), and get(), to create more complex queries.

 

Is the Laravel WhereIn query available in all Laravel versions?

The Laravel WhereIn query is available in all major Laravel versions, including Laravel 6, 7, 8, 9, and 10.

Leave a Comment

Your email address will not be published. Required fields are marked *