Umesh Kumar Yadav
Umesh Kumar Yadav

Reputation: 149

How can i check request comes or not in laravel?

I want to get $data['student'] if request get (like: student-guardian?reg_no=0001 in URL). if no any parameter on url $data['student'] don't needed.

My StudentGuardian function Like:

public function studentGuardian(Request $request)
{
    $data = [];
    if(!empty($request)){
        $data['student'] = Student::select('id','reg_no','reg_date', 'first_name', 'middle_name', 'last_name','faculty', 'semester','status')
            ->where(function ($query) use ($request) {

                if ($request->has('reg_no')) {
                    $query->where('students.reg_no', 'like', '%'.$request->reg_no.'%');
                    $this->filter_query['students.reg_no'] = $request->reg_no;
                }

            })
            ->get();
    }

    return view(('studentguardian.index'), compact('data'));
}

Upvotes: 1

Views: 65

Answers (2)

JoinCompany
JoinCompany

Reputation: 514

This is what you need:

public function studentGuardian(Request $request)
{
    $data = [];

    // check request has any parameter
    if($request->all()){

        // query and get list student
        $data['student'] = Student::select('id','reg_no','reg_date', 'first_name', 'middle_name', 'last_name','faculty', 'semester','status')
        ->where(function ($query) use ($request) {
             if ($request->has('reg_no')) {
                 $query->where('students.reg_no', 'like', '%'.$request->reg_no.'%');
                 $this->filter_query['students.reg_no'] = $request->reg_no;
             }
        })
        ->get();

    } else {
        //do something else
    }

    // return data to view
    return view('studentguardian.index', compact('data'));
}

Upvotes: 2

shukshin.ivan
shukshin.ivan

Reputation: 11340

First, your if(!empty($request)) is useless, $request is always a Request object, not empty.

Second, you can use just if($request->all()) { ... } to check if request array is empty.

Upvotes: 1

Related Questions