После того как я пишу:Как отобразить читаемый массив - Laravel
Route::get('/', function()
{
dd(User::all());
});
И после того, как я обновить браузер я получаю нечитаемый массив. Есть ли способ получить этот массив в читаемом формате?
После того как я пишу:Как отобразить читаемый массив - Laravel
Route::get('/', function()
{
dd(User::all());
});
И после того, как я обновить браузер я получаю нечитаемый массив. Есть ли способ получить этот массив в читаемом формате?
dd()
сбрасывает переменный и завершает выполнение сценария (1), поэтому окружающий его <pre>
тегов оставит его сломанным. Просто используйте старый добрый var_dump()
(или print_r()
, если вы знаете, что это массив)
Route::get('/', function()
{
echo '<pre>';
var_dump(User::all());
echo '</pre>';
//exit; <--if you want
});
Update:
Я думаю, вы могли бы форматировать вниз, что показано при наличии Laravel преобразования модели объекта в массив:
Route::get('/', function()
{
echo '<pre>';
$user = User::where('person_id', '=', 1);
var_dump($user->toArray()); // <---- or toJson()
echo '</pre>';
//exit; <--if you want
});
(1) Для записи, это осуществление (дд):
function dd()
{
array_map(function($x) { var_dump($x); }, func_get_args()); die;
}
Это дает действительно читаемый массив :) Еще одна проблема заключается в том, что он дает очень большой массив, а информация, которая мне нужна, находится внизу страницы. – Gilko
Ну, какая информация вы хотите? Вы можете сбрасывать другие методы, чтобы отфильтровать до того, что вам действительно нужно. User :: all() возвращает весь объект действительно –
Я просто хочу массив объекта User. Я дал это по-своему: User :: find (6) -> где ('person_id' == 1), и страница дает мне массив, который начинается с объекта «Illuminate \ Database \ Eloquent \ Builder» (... " Мне нужно прокрутить весь путь вниз, чтобы получить массив объекта User. – Gilko
на самом деле гораздо более простой способ, чтобы получить читаемый массив, что вы (вероятно) хотят видеть, это вместо того, чтобы использовать
dd($users);
или
dd(User::all());
использовать этот
dd($users->toArray());
или
dd(User::all()->toArray());
который намного приятнее отлаживать.
EDIT - дополнительный, это также хорошо работает в ваших мнений/шаблонов , так что если вы передаете получить все пользователи в шаблон, вы можете сбросить его в шаблон лезвия
{{ dd($users->toArray()) }}
Это правильный (и лучший) способ сделать это в Laravel. – Lulu
Может попробовать Kint: композитору требуется raveren/kint «dev-master» Дополнительная информация: Why is my debug data unformatted?
Вы можете использовать этот код на view.blade. {{var_dump ($ Animales)}}
Объясните, что вы предлагаете с чуть-чуть подробнее.detail – dbmitch
Вы можете использовать var_dump
или print_r
функции на лопатку themplate с помощью функции контроллера:
class myController{
public function showView(){
return view('myView',["myController"=>$this]);
}
public function myprint($obj){
echo "<pre>";
print_r($obj);
echo "</pre>";
}
}
и использовать лезвие themplate:
$myController->myprint($users);
Для всех все еще ищущий хороший способ добиться этого, рекомендуемым способом является функция dump()
от symfony/var-dumper
.
Он добавлен в документацию с версии 5.2: https://laravel.com/docs/5.2/helpers#method-dd
Должен быть ответ – SuperKiwi
Я добавил помощник da()
в Laravel, который на самом деле работает в качестве псевдонима для dd($object->toArray())
Вот это суть: https://gist.github.com/TommyZG/0505eb331f240a6324b0527bc588769c
Окружите ваш выходной массив с '
' тегами –D (Пользователь :: все()); –