Angularjs 将Laravel集合制作成角度阵列(octobercms)

Angularjs 将Laravel集合制作成角度阵列(octobercms),angularjs,laravel,multidimensional-array,collections,octobercms,Angularjs,Laravel,Multidimensional Array,Collections,Octobercms,我设法解决了一个问题,但我不明白为什么它会起作用,而且似乎有故障,所以我想知道是否有人能解释我。我想从我的文章模型中获取文章,并在angular中检索,但我很难从octobercms中获取带有“特色图片”的子键。我在我的laravel控制器中找到了一个解决方法,如下所示: public function test() { $result = Article::take(4)->get(); $listarr = array(); foreach($result

我设法解决了一个问题,但我不明白为什么它会起作用,而且似乎有故障,所以我想知道是否有人能解释我。我想从我的文章模型中获取文章,并在angular中检索,但我很难从octobercms中获取带有“特色图片”的子键。我在我的laravel控制器中找到了一个解决方法,如下所示:

public function test()
{  
    $result = Article::take(4)->get();
    $listarr = array();
    foreach($result as $article) {
        $listarr[] = $article;
        foreach($article->featured_images as $image) {
        }
    }
    return response()->json($listarr);
}
但是如果我删除foreach($article->featured_images as$image){}部分,我就不会得到带有$listarr的“featured_images”。如果我
returnresponse()->json($result)
,那么仅仅使用$result不会给我这些键

这就是我想要的:

但不是这样,没有“特色图片”:


如果我在$result作为$article上为reach这样做,并且只有当我使用
foreach($article->特色图片作为$image){}
时,我才能得到我想要的结果。我想我很困惑,有一种更优雅的方法可以做到这一点,但多维数组对我来说很难。

foreach调用正在加载关系,因此将其包含在后续的JSON数据中。下面的调用将使用即时加载预加载关系,并且应该以相同的方式包含它

Article::with('featured_images')->take(4)->get();
或者,您也可以使用“延迟加载”


foreach的
foreach
调用正在加载关系,因此将其包含在后续的JSON数据中。下面的调用将使用即时加载预加载关系,并且应该以相同的方式包含它

Article::with('featured_images')->take(4)->get();
或者,您也可以使用“延迟加载”