我有一个像这样的嵌套关系:
模板有很多组,组有很多结构
使用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();