How to find a user in Laravel by Username?

In Laravel, there are several ways to find a user by username using Eloquent ORM and the database query builder. Each method provides different levels of functionality and data retrieval options.

Using the first() Method

The first() method returns the first record that matches the search criteria. It returns null if no matching records are found

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Student;

class StudentController extends Controller {
   public function index() {
      $userName = 'Siya Khan'; // Record being searched
      $recordCount = Student::where('name', '=', $userName)->first();
      if ($recordCount) {
         echo "The name exists in the table";
      } else {
         echo "No data found";
      }
   }
}
?>

The output of the above code is

The name exists in the table

Using SELECT Query with Specific Fields

You can use the select() method to retrieve only specific fields from the user record

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\Student;

class StudentController extends Controller {
   public function index() {
      $userName = 'Siya Khan'; // Record being searched
      $userdetails = Student::select('id','name')->where('name', $userName)->first();
      echo json_encode($userdetails);
      echo "<br/>";
      if ($userdetails) {
         echo "The name exists in the table";
      } else {
         echo "No data found";
      }
   }
}
?>

The output of the above code is

{"id":1,"name":"Siya Khan"}
The name exists in the table

Using DB Facade

You can also use the DB facade to query the database directly without using Eloquent models

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use DB;

class StudentController extends Controller {
   public function index() {
      $userName = 'Siya Khan'; // Record being searched
      $studentdetails = DB::table('students')->where('name', $userName)->first();
      print_r($studentdetails);
   }
}
?>

The output of the above code is

stdClass Object(
   [id] => 1
   [name] => Siya Khan
   [email] => siya@gmail.com
   [created_at] => 2022-05-01 13:45:55
   [updated_at] => 2022-05-01 13:45:55
   [address] => Xyz
)

Conclusion

Use Eloquent's first() method for simple user lookups, select() for specific fields, and the DB facade for direct database queries. All methods return null when no user is found, making them safe for conditional checks.

Updated on: 2026-03-15T10:07:08+05:30

3K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements