Après j'écris:
Route::get('/', function()
{
dd(User::all());
});
Et après avoir actualisé le navigateur, je reçois un tableau illisible. Est-il possible d'obtenir ce tableau dans un format lisible?
dd()
vide la variable et termine l'exécution du script (1), si vous l’entourez de balises <pre>
, il restera brisé. Utilisez juste le bon vieux var_dump()
(ou print_r()
si vous savez que c'est un tableau)
Route::get('/', function()
{
echo '<pre>';
var_dump(User::all());
echo '</pre>';
//exit; <--if you want
});
Mettre à jour:
Je pense que vous pouvez formater ce qui est montré en demandant à Laravel de convertir l'objet du modèle en tableau:
Route::get('/', function()
{
echo '<pre>';
$user = User::where('person_id', '=', 1);
var_dump($user->toArray()); // <---- or toJson()
echo '</pre>';
//exit; <--if you want
});
(1) Pour mémoire, voici l’implémentation de dd ():
function dd()
{
array_map(function($x) { var_dump($x); }, func_get_args()); die;
}
en fait, un moyen beaucoup plus facile d’obtenir un tableau lisible de ce que vous voulez (probablement) voir, est au lieu d’utiliser
dd($users);
ou
dd(User::all());
utilisez ceci
dd($users->toArray());
ou
dd(User::all()->toArray());
ce qui est beaucoup plus agréable pour déboguer.
EDITER - supplémentaire, cela fonctionne également bien dans vos vues/modèles. Si vous transmettez à tous les utilisateurs de votre modèle, vous pouvez le vider dans votre modèle de lame.
{{ dd($users->toArray()) }}
Essayez peut-être kint: composer require raveren/kint "dev-master" Plus d'informations: Pourquoi mes données de débogage sont-elles non formatées?
Pour tous ceux qui recherchent toujours un moyen agréable d’y parvenir, la méthode recommandée est la fonction dump()
de symfony/var-dumper
.
Il est ajouté à la documentation depuis la version 5.2: https://laravel.com/docs/5.2/helpers#method-dd
Vous pouvez utiliser ce code sur view.blade . {{Var_dump ($ animales)}}
J'ai ajouté un assistant da()
à Laravel qui fonctionne en fait comme un alias pour dd($object->toArray())
Voici le Gist: https://Gist.github.com/TommyZG/0505eb331f240a6324b0527bc588769c
Vous pouvez utiliser les fonctions var_dump
ou print_r
sur le modèle de lame via les fonctions du contrôleur:
class myController{
public function showView(){
return view('myView',["myController"=>$this]);
}
public function myprint($obj){
echo "<pre>";
print_r($obj);
echo "</pre>";
}
}
Et utilisez votre modèle de lame:
$myController->myprint($users);