Laravel whereHas on Many-to-Many relationships

Estern

I have two main tables with relationships many to many and a pivot table.

Model 'Type'

    public function attributes()
    {
        return $this->belongsToMany('App\Attribute', 'attribute_type');
    }

Model 'Attribute'

    public function types()
    {
        return $this->belongsToMany('App\Type', 'attribute_type');
    }

Pivot table 'attribute_type'

    Schema::create('attribute_type', function (Blueprint $table) {
        $table->increments('id');
        $table->integer('type_id')->unsigned();
        $table->foreign('type_id')->references('id')->on('types');
        $table->integer('attribute_id')->unsigned();
        $table->foreign('attribute_id')->references('id')->on('attributes');
    });

I want to show 5 attributes in random order which belong to the types of id < 10.

$attributes = Attribute::whereHas('types', function ($query) {
            $query->where('id', '<', '10');
        })->orderByRaw("RAND()")->limit(5);

and for example

$attribute->id

gives me "Undefined property: Illuminate\Database\Eloquent\Builder::$id"

Filip Koblański

All you have to do is execute query and get the collection with get() method like this:

$attributes = Attribute::whereHas('types', function ($query) {
        $query->where('id', '<', '10');
    })->orderByRaw("RAND()")->limit(5)
    ->get();

Now you are trying to iterate over the query builder which is giving you another query builder as a result of $attribute

Collected from the Internet

Please contact [email protected] to delete if infringement.

edited at
0

Comments

0 comments
Login to comment

Related

From Dev

Laravel whereHas count on Many-to-Many relationship

From Dev

Laravel 4 many to many relationships

From Dev

Many to Many relationships with Laravel / Eloqeunt

From Dev

Laravel 4 - Chaining Many-to-Many relationships

From Dev

Laravel 4.1 working with many-to-many relationships

From Dev

naming tables in many to many relationships laravel

From Dev

Laravel log revisions for many-to-many relationships

From Dev

Laravel, querying through many-to-many relationships

From Dev

Laravel 5.4 many to many relationships with foreign key

From Dev

Laravel One to Many Relationships Query

From Dev

Laravel whereHas on multiple relationships

From Dev

Issue with many to many relationships

From Dev

Laravel's whereHas not filtering fetched results for a relationship (one-to-many)

From Dev

Laravel's whereHas not filtering fetched results for a relationship (one-to-many)

From Dev

Saving/updating one to many relationships in Laravel

From Dev

Saving/updating one to many relationships in Laravel

From Dev

storing and updating has-many relationships laravel

From Dev

Many To Many relationships in Laravel: belongsToMany() vs. hasManyThrough()

From Dev

Laravel Eloquent: In many to many relationships the ORM is returning only one Object

From Dev

Laravel Eloquent: In many to many relationships the ORM is returning only one Object

From Dev

Stale objects when using polymorphic many to many relationships in Laravel 5.2

From Dev

Many-to-many hierarchical relationships

From Dev

Many to many relationships MongoDB mongoose

From Dev

Simple many-to-many relationships

From Dev

SQL Many-To-Many relationships

From Dev

Ember Data - Many to Many Relationships?

From Dev

Simple many-to-many relationships

From Dev

Play - Querying many to many relationships

From Dev

Many to many relationships - Sql To Linq

Related Related

  1. 1

    Laravel whereHas count on Many-to-Many relationship

  2. 2

    Laravel 4 many to many relationships

  3. 3

    Many to Many relationships with Laravel / Eloqeunt

  4. 4

    Laravel 4 - Chaining Many-to-Many relationships

  5. 5

    Laravel 4.1 working with many-to-many relationships

  6. 6

    naming tables in many to many relationships laravel

  7. 7

    Laravel log revisions for many-to-many relationships

  8. 8

    Laravel, querying through many-to-many relationships

  9. 9

    Laravel 5.4 many to many relationships with foreign key

  10. 10

    Laravel One to Many Relationships Query

  11. 11

    Laravel whereHas on multiple relationships

  12. 12

    Issue with many to many relationships

  13. 13

    Laravel's whereHas not filtering fetched results for a relationship (one-to-many)

  14. 14

    Laravel's whereHas not filtering fetched results for a relationship (one-to-many)

  15. 15

    Saving/updating one to many relationships in Laravel

  16. 16

    Saving/updating one to many relationships in Laravel

  17. 17

    storing and updating has-many relationships laravel

  18. 18

    Many To Many relationships in Laravel: belongsToMany() vs. hasManyThrough()

  19. 19

    Laravel Eloquent: In many to many relationships the ORM is returning only one Object

  20. 20

    Laravel Eloquent: In many to many relationships the ORM is returning only one Object

  21. 21

    Stale objects when using polymorphic many to many relationships in Laravel 5.2

  22. 22

    Many-to-many hierarchical relationships

  23. 23

    Many to many relationships MongoDB mongoose

  24. 24

    Simple many-to-many relationships

  25. 25

    SQL Many-To-Many relationships

  26. 26

    Ember Data - Many to Many Relationships?

  27. 27

    Simple many-to-many relationships

  28. 28

    Play - Querying many to many relationships

  29. 29

    Many to many relationships - Sql To Linq

HotTag

Archive