Ellrion
7/31/2017 - 11:21 AM

helper.php

<?php

if (! function_exists('dqd')) {
    /**
     *  Dump info about query in builder and end the script.
     *
     * @param $query
     * @param bool $short
     */
    function dqd($query, $short = false)
    {
        if ($query instanceof \Illuminate\Database\Eloquent\Builder) {
            $query = $query->getQuery();
        }
        $sql = $query->toSql();
        $bindings = array_map(function ($binding) {
            return is_int($binding) || is_float($binding) ? $binding : "'{$binding}'";
        }, $query->getBindings());
        $raw = vsprintf(str_replace(['%', '?'], ['%%', '%s'], $sql), $bindings);
        $bindings = $query->getRawBindings();

        if ($short) {
            dd($raw);
        }

        dd(compact('sql', 'bindings', 'raw'));
    }
}