无法显示数组值

Can't display array values

所以,我有这个数组,像这样:

protected static $base = [
        [
            'id' => 4,
            'createdAt' => 1498638933,
            'title' => 'Example 1',
            'tables' => [
                ['title' => '#1', 'createdAt' =>  1498638940],
                ['title' => '#2', 'createdAt' =>  1498638941],
                ['title' => '#3', 'createdAt' =>  1498638943],
            ],
        ],
        [
            'id' => 7,
            'createdAt' => 1498643923,
            'title' => 'Example 2',
            'tables' => [
                ['title' => '#1',  'createdAt' =>  1498643925],
                ['title' => '#2',  'createdAt' =>  1498643929],
                ['title' => '#3',  'createdAt' =>  1498643932],
            ],

这些数组在模型代码中,我想在我的页面中显示它们。 此外,来自模型:

    public static function getAll() {
    sleep(1);
    return self::$base;
}

从web.php(路线),我有:

Route::get('/', function () {
    $items = \App\MyModel::getAll();
    return view('welcome')->with('items', $items);
});

现在,如果我尝试:

       {!! dd($items) !!}

显示了所有数组,但显示方式不尽如人意。我只想要他们的内容。所以,我按照这些步骤 (https://laracasts.com/discuss/channels/general-discussion/passing-arrays-to-blade-and-iterating) 变成了:

@foreach($items['title'] as $title => $content)
    {{ $title }}
    @foreach ($content as $tables => $item)
        {{ $tables . ' => ' . $item }}
    @endforeach
@endforeach

但是 'title' 无法识别,我已经尝试了一些类似的方法,但没有任何效果。我可能遗漏了什么?

您正试图在数组数组中遍历数组键,这是不可能的。

您首先需要遍历外部数组,然后您可以访问内部键的内容,如下所示:

@foreach($items as $item)
   {{ $item['title'] }}
   @foreach($item['tables'] as $table)
      {{ $table['title'] }}
   @endforeach
@endforeach

首先,如果你return变量有一个视图,你可以更好地使用php的紧凑功能,这样你就不会重复自己。这是一个例子:

return view('welcome', compact('items'));

并且由于您使用了 dd(),它会转储数组中的所有内容,然后死掉。 如果您想显示所有项目,您确实应该使用 foreach 循环,但像这样:

@foreach($items as $item)
   {{ $item['title'] }}
   @foreach($item['tables'] as $table)
      {{ $table['title'] }}
   @endforeach
@endforeach