Where NOT in pivot table

eloquent, laravel, laravel-4, php, pivot-table

Solution

For simplicity and symmetry you could create a new method in the User model:

// User model
public function availableItems()
{
    $ids = \DB::table('item_user')->where('user_id', '=', $this->id)->lists('user_id');
    return \Item::whereNotIn('id', $ids)->get();
}

To use call:

Auth::user()->availableItems();

Problem

In Laravel we can setup relationships like so: ``` class User { public function items() { return $this->belongsToMany('Item'); } } ``` Allowing us to to get all items in a pivot table for a user: ``` Auth::user()->items(); ``` However what if I want to get the opposite of that. And get all items the user DOES NOT have yet. So NOT in the pivot table. Is there a simple way to do this?

Original source

Related problems