Search code examples
phparraysfunctionlaravelreadable

How to display a readable array - Laravel


After I write:

Route::get('/', function()
{
    dd(User::all());
});

And after I refresh the browser I get an unreadable array. Is there a way to get that array in a readable format?


Solution

  • dd() dumps the variable and ends the execution of the script (1), so surrounding it with <pre> tags will leave it broken. Just use good ol' var_dump() (or print_r() if you know it's an array)

    Route::get('/', function()
    {
        echo '<pre>';
        var_dump(User::all());
        echo '</pre>';
        //exit;  <--if you want
    });
    

    Update:

    I think you could format down what's shown by having Laravel convert the model object to array:

    Route::get('/', function()
    {
        echo '<pre>';
        $user = User::where('person_id', '=', 1);
        var_dump($user->toArray()); // <---- or toJson()
        echo '</pre>';
        //exit;  <--if you want
    });
    

    (1) For the record, this is the implementation of dd():

    function dd()
    {
        array_map(function($x) { var_dump($x); }, func_get_args()); die;
    }