user5405648
user5405648

Reputation:

Where relationship column equals?

I am trying to grab all records where Player's relationship called stats() has a column value of something. I would usually do ::where('column_name' 'column_value') for the players table, but how can I get ::where the relationship table's column equals to something?

Player::where('column_name', 'column_value')->get();

But I want to check a column in the relationships table?

public function roleplay()
{
    return $this->hasOne('App\Database\Frontend\User\Roleplay', 'user_id', 'id');
}

Upvotes: 36

Views: 51083

Answers (2)

ali hassan
ali hassan

Reputation: 459

Laravel 8^ : doc Relationship Existence Queries

Product::with('categoreys')->whereRelation('categoreys', 'status', '0')
                                            ->get();

Upvotes: 26

oseintow
oseintow

Reputation: 7381

This will filter Player based on a related table

Player::whereHas('roleplay', function($q){
   $q->where('column_name', 'value');
})->get();

Upvotes: 97

Related Questions