如何在laravel中循环first()

时间:2016-02-18 14:43:43

标签: json api laravel

上下文:

我使用laravel 5.1创建一个Json api来获取所有类别和子类别

和类别表和子类别表之间的关系是ManyToMany

代码:

类别模型:

 public function subcategory() {
     return $this->belongsToMany(Subcategory::class);
 }

子类别模型:

public function category() {
    return $this->belongsToMany(Categories::class);
}

Api控制器:

$response = Categories::with('subcategory')->first();
return $response

问题:

我想要循环$响应以获取所有数据,而不仅仅是第一个

2 个答案:

答案 0 :(得分:1)

答案是

$response = Categories::with('subcategory')->take(-1)->get();

答案 1 :(得分:0)

您正在调用first方法,该方法仅从类别中检索第一个模型。为了获得所有记录,您应该使用get方法,如下所示:

$response = Categories::with('subcategory')->get();

现在$ response对象将是一个Eloquent模型集合。

get方法通常是您查询的最后一种方法,其行为类似于:现在运行查询请发牢骚

查看有关Eloquent Collection

的文档