table 中的所有数据具有关系,空数组

All data in a table with relationships, empty arrays

我有 Post、类别和标签模型及其关系,并且在其他查询中运行良好。

如果我得到 post 的类别和标签,那么数据 returns 对我来说是正确的。

$post = Post::with('categorias', 'etiquetas')->find($id)->toArray();

With Post::has 只显示确实有类别的数据 Posts,至少我明白了,所以这对我没有帮助.

$posts = Post::has('category')->get()->toArray();

但是当我尝试获取所有 post 以及每个 post 对应的类别和标签时,我得到一个数据数组,其中包含一个数组 post 更多空类别和标签.因为我可以使数组带有它的数据。

$posts = Post::with('categorias', 'etiquetas')->get()->toArray();

1 => 
array (size=11)
  'id' => string '2' (length=1)
  'titulo' => string 'A title once again' (length=18)
  'subtitulo' => string '' (length=0)
  'contenido' => string 'And the post body follows.' (length=26)
  'created_at' => string '2015-04-09 13:19:12' (length=19)
  'updated_at' => string '2015-05-04 13:44:25' (length=19)
  'user_id' => null
  'publicacion' => string '0000-00-00 00:00:00' (length=19)
  'activo' => string '0' (length=1)
  'categorias' => 
    array (size=5)
      0 => 
        array (size=3)
          ...
      1 => 
        array (size=3)
          ...
      2 => 
        array (size=3)
          ...
      3 => 
        array (size=3)
          ...
      4 => 
        array (size=3)
          ...
  'etiquetas' => 
    array (size=0)
      empty

我自动回答我的问题。

查询正常工作:

$posts = Post::with('categorias', 'etiquetas')->get()->toArray();

在laravel 4中,转储程序不会显示数据关系,所以您必须到达那里。

dd($posts[1]['categorias']);

array (size=5)
0 => 
array (size=3)
  'id' => string '7' (length=1)
  'nombre' => string 'CATEGORIA1' (length=13)
  'pivot' => 
    array (size=2)
      'post_id' => string '2' (length=1)
      'categoria_id' => string '7' (length=1)
1 => 
array (size=3)
  'id' => string '8' (length=1)
  'nombre' => string 'CATEGORIA2' (length=17)
  'pivot' => 
    array (size=2)
      'post_id' => string '2' (length=1)
      'categoria_id' => string '8' (length=1)
2...