How to pass Parameter from Controller to Model in Laravel

This tutorial explain how to pass parameter from controller to model in laravel.

Parameter pass from Controller to Model

You can pass parameter and variables from controller to model by make a method in model that require some parameters and it pass from controller like below example

Controller

<?php

namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Models\User;

class UserController extends Controller{
  public function store(Request $request){
    $role = "user";
    $users = new User;
    $users = $users->validUsers($role);

    dd($users);
  }
}

User Model

Create a validUsers() method for get users table data according to role.

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
  use HasFactory;
  protected $guarded = [];

  public function validUsers($role){
      $users = User::where('role', $role)->get();
      return $users;
  }
}
php laravel developer anmol sharma

Anmol Sharma

I am a software engineer and have experience in web development technologies like php, Laravel, Codeigniter, javascript, jquery, bootstrap and I like to share my deep knowledge by these blogs.

Random tutorial links