Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[8.x] Add nested relationships to whereRelation function #39064

Merged
merged 4 commits into from
Oct 6, 2021

Conversation

josemariagomez
Copy link
Contributor

This PR added the possibility to use nested relationships when using 'whereRelation' Eloquent's function, using dot notation.
Also still works with not nested relationships, so it's not a breaking change.

How it works

// Before
Company::whereHas('teams', function($query) {
  $query->whereHas('users', function($query) {
      $query->whereHas('roles', function($query) {
          $query->where('name', 'admin');
      });
  });
})->get();

// After 💅🏻
Company::whereRelation('teams.users.roles', 'name', 'admin')->get();

// Also can be used as orWhereRelation
Company::where('public', true)->orWhereRelation('teams.users', 'id', auth()->id())->get();

// Still can use this function for not nested relationships
Company::whereRelation('teams', 'id', '1')->get();

@josemariagomez josemariagomez changed the title Add nested relationships to whereRelation function [8.x] Add nested relationships to whereRelation function Oct 2, 2021
@taylorotwell taylorotwell merged commit bc92a96 into laravel:8.x Oct 6, 2021
@devfrey
Copy link
Contributor

devfrey commented Oct 7, 2021

Why was this merged?

  1. It was already possible to used nested relations before these code changes.
  2. This PR contains no tests...

taylorotwell pushed a commit that referenced this pull request Oct 7, 2021
#39064)" (#39130)

* Revert "[8.x] Add nested relationships to whereRelation function (#39064)"

This reverts commit bc92a96.

* Add tests for nested whereRelation queries
chu121su12 pushed a commit to chu121su12/framework that referenced this pull request Oct 7, 2021
laravel#39064)" (laravel#39130)

* Revert "[8.x] Add nested relationships to whereRelation function (laravel#39064)"

This reverts commit bc92a96.

* Add tests for nested whereRelation queries
chu121su12 pushed a commit to chu121su12/framework that referenced this pull request Oct 8, 2021
* Add nested relationships to whereRelation function

* Removed 2 spaces

* formatting

* Update QueriesRelationships.php

Co-authored-by: Jose María Gómez Martín <[email protected]>
Co-authored-by: Taylor Otwell <[email protected]>
victorvilella pushed a commit to cdsistemas/framework that referenced this pull request Oct 12, 2021
* Add nested relationships to whereRelation function

* Removed 2 spaces

* formatting

* Update QueriesRelationships.php

Co-authored-by: Jose María Gómez Martín <[email protected]>
Co-authored-by: Taylor Otwell <[email protected]>
victorvilella pushed a commit to cdsistemas/framework that referenced this pull request Oct 12, 2021
laravel#39064)" (laravel#39130)

* Revert "[8.x] Add nested relationships to whereRelation function (laravel#39064)"

This reverts commit bc92a96.

* Add tests for nested whereRelation queries
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants