如何显示可读数组 - Laravel

时间:2013-12-25 09:29:39

标签: php arrays function laravel readable

写完之后:

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

刷新浏览器后,我得到一个不可读的数组。有没有办法以可读的格式获取该数组?

8 个答案:

答案 0 :(得分:24)

dd()转储变量并结束脚本(1)的执行,因此用<pre>标签包围它会使其断开。只需使用好的'var_dump()(或print_r(),如果你知道它是一个数组)

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

<强>更新

我认为你可以通过让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)对于记录,这是dd()的实现:

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

答案 1 :(得分:20)

实际上,一种更简单的方法来获得您(可能)想要看到的可读数组,而不是使用

dd($users); 

dd(User::all());

使用此

dd($users->toArray());

 dd(User::all()->toArray());

使用它进行调试要好得多。

编辑 - 另外,这在您的视图/模板中也很有效 因此,如果您将获取所有用户传递给模板,则可以将其转储到刀片模板中

{{ dd($users->toArray()) }}

答案 2 :(得分:3)

也许尝试kint:作曲家需要raveren / kint&#34; dev-master&#34; 更多信息:Why is my debug data unformatted?

答案 3 :(得分:2)

对于仍在寻找实现此目标的好方法的所有人,推荐的方法是来自dump()的{​​{1}}函数。

自5.2版以来,它已添加到文档中: https://laravel.com/docs/5.2/helpers#method-dd

答案 4 :(得分:0)

您可以在view.blade上使用此代码。 {{的var_dump($阿尼马莱斯)}}

答案 5 :(得分:0)

您可以通过控制器功能在Blade模板上使用var_dumpprint_r功能:

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);

答案 6 :(得分:0)

我已经向Laravel添加了一个帮助da(),实际上它可以作为dd($object->toArray())的别名

这是要点:https://gist.github.com/TommyZG/0505eb331f240a6324b0527bc588769c

答案 7 :(得分:0)

根据建议,您可以使用诸如

之类的“ die and dump” dd($var)

或只是“转储”而不会死,

dump($var)