Laravel Eloquent Collection basic cheatsheet

How to get list of rows with Laravel’s Eloquent Collection.

// ... other stuff
use App\Models\Foo;
 
class FooController extends Controller
{
  public function index()
  {
    // get all
    $data = Foo::all()->toArray();
 
    // get rows where category_id === 1
    $data = Foo::where('category_id', 1)->get()->toArray();
    
    // get rows where category_id !== 2
    $data = Foo::where('category_id', '!=', 2)->get()->toArray();
 
    // get rows with multiple equality parameters
    $data = Foo::where([
      'category_id' => 1,
      'title' => 'Lorem ipsum dolor sit amet'
    ])->get()->toArray();
 
    // get rows with multiple mixed parameters
    $data = Foo::where('category_id', 1)->where('title', '!=', 'Lorem ipsum dolor sit amet')->get()->toArray();
 
    // with miscellanous collection methods
    // see: https://laravel.com/docs/8.x/collections#available-methods
    $data = Foo::where('category_id', 1)->whereIn('id', [2, 7])->get()->toArray();
 
    // complex example
    $data = Foo::where('column1', '=', value1)
      ->where(function($query) use ($variable1,$variable2){
        $query->where('column2','=',$variable1)
        ->orWhere('column3','=',$variable2);
      })
      ->where(function($query2) use ($variable1,$variable2){
        $query2->where('column4','=',$variable1)
        ->where('column5','=',$variable2);
      })->get();
 
    return dd($data);
  }
}

Note: Collection methods (eg. whereIn(), transform()) can be run on empty array (no need to check if falsey)


Docs: https://laravel.com/docs/8.x/eloquent-collections

In: Laravel MOC

Links to this note

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.

  • Est ex deserunt esse ut pariatur quis fugiat id velit commodo

    Ut anim fugiat laboris et eiusmod aliquip.