Laravel-检查集合是否有关联

时间:2019-06-11 20:48:51

标签: php collections eloquent laravel-5.8

我有一个带有一些复选框的表单,当选中某些复选框时,我有条件地创建了一个雄辩模型的联接

$collection = Model::with('some_relation')
     ->when(!is_null($request->input('make')), function($query) {
         $query->with('make');
      })
      ->get();

这一切都按预期进行。

我需要做的是检查视图中该关系是否存在。在我看来,我有一个表,需要知道该关系是否存在,是否需要为该关系创建表头。

我已尽我所能,但无济于事。我什至尝试了以下方法,但是即使该关系不存在,它也会返回true

$test = $collection->contains(function ($value, $key) {
    return $value['make'];
});

我也尝试过count($collection->make);,但提示

  

此集合实例上不存在属性[make]

我想让它查看该关系是否存在

1 个答案:

答案 0 :(得分:0)

找到答案

$test = $collection->filter->relationLoaded('make')->isEmpty();

如果该关系不存在,将返回true