Laravel Query Builder: Retrieving Results

Retrieving All Rows From A Table

<?php

namespace App\Http\Controllers;

use Illuminate\Support\Facades\DB;
use App\Http\Controllers\Controller;

class UserController extends Controller
{
    /**
     * Show a list of all of the application's users.
     *
     * @return Response
     */
    public function index()
    {
        $users = DB::table('users')->get();

        return view('user.index', ['users' => $users]);
    }
}

Retrieving A Single Row / Column From A Table

$user = DB::table('users')->where('name', 'John')->first();

echo $user->name;
$email = DB::table('users')->where('name', 'John')->value('email');

Retrieving A List Of Column Values

$titles = DB::table('roles')->pluck('title');

foreach ($titles as $title) {
    echo $title;
}
$roles = DB::table('roles')->pluck('title', 'name');

foreach ($roles as $name => $title) {
    echo $title;
}

Chunking Results

DB::table('users')->orderBy('id')->chunk(100, function ($users) {
    foreach ($users as $user) {
        //
    }
});
DB::table('users')->orderBy('id')->chunk(100, function ($users) {
    // Process the records...

    return false;
});
DB::table('users')->chunkById(100, function ($users) {
    foreach ($users as $user) {
        //
    }
});
Flight::chunk(200, function ($flights) {
    foreach ($flights as $flight) {
        //
    }
});

Aggregates

$users = DB::table('users')->count();

$price = DB::table('orders')->max('price');
$price = DB::table('orders')
                ->where('finalized', 1)
                ->avg('price');

Laravel Query Builder: Retrieving Results — Structure map

Clickable & Draggable!

Laravel Query Builder: Retrieving Results — Related pages: