过滤Laravel中的嵌套关​​系

时间:2019-07-15 10:09:50

标签: php laravel

我有一个像这样的嵌套关系:

  

模板有很多组,组有很多结构

使用Laravel关系,我可以轻松地从模板中获取所需的数据。

但是我还有另一个称为元素的模型,元素属于模板,元素也有许多数据,这是属于特定元素的实例化“结构”。

如果我尝试使用Laravel关系来获取这样的元素:

.fail(function (jqXHR) { /* on server fail check for json response */

if (jqXHR.responseJSON) {
  if (jqXHR.status == 500) {
    /* parse the json response as a message in toastMessage function */
    toastMessage("", 'error', jqXHR.responseJSON.message);
  }
}
});

estructure被属于模板的所有estructure填充,但是我需要对其进行过滤,因此它仅显示属于元素的estructure。

我可以通过传递元素的id来实现,当我尝试搜索特定元素时,它可以工作。

{
  element: {
    ...,
    groups: [
      {
        ...,
        estructure: []
      }
    ]
  }
}

当我尝试获取多个元素时就会出现问题。

  $element = \App\Element::where('id', $elementID)->with(['template.groups.estructure' => function ($query) use ($elementID) {

    $query->where('element_id', $elementID)

  }])->get();

0 个答案:

没有答案