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?
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; }
actually a much easier way to get a readable array of what you (probably) want to see, is instead of using
dd($users);
or
dd(User::all());
use this
dd($users->toArray());
or
dd(User::all()->toArray());
which is a lot nicer to debug with.
EDIT - additional, this also works nicely in your views / templates so if you pass the get all users to your template, you can then dump it into your blade template
{{ dd($users->toArray()) }}
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With