Sandeep
Sandeep

Reputation: 1053

How to use where clause in eloquent relationships in laravel

I'm trying to access company variable in laravel eloquent relationship but i'm getting error undefined variable.

Controller

$assignedCases = AddressCaseAssign::with(['addresses' => function ($query) {
                                $query->where('company_id', '=',$request->company);

                            }])->where('user_id',$request->executive)
                            ->get();

Model

public function addresses(){
    return $this->belongsTo(Address::class,'address_id');
}

enter image description here enter image description here

Upvotes: 1

Views: 2965

Answers (1)

Sohel0415
Sohel0415

Reputation: 9853

You need to pass $request in where clause using use keyword:

$assignedCases = AddressCaseAssign::with(['addresses' => function ($query) use ($request) {
                            $query->where('company_id', '=',$request->company);

                        }])->where('user_id',$request->executive)
                        ->get();

Upvotes: 1

Related Questions