链接一个模型关系数组到查询生成器



如何将关系数组链接到Laravel中的查询生成器实例?

我目前有一个从系统的另一部分传入的关系数组。像这样:

$relations = [
"company",
"staff",
"category",
]

我有一个模型的实例,并希望循环和添加每个关系,然后获得模型上的某个属性。关系数组的长度是动态的。

$instance->company->staff->category->name;

我怎样才能做到这一点呢?

编辑:为了添加上下文,为什么我想这样做,我有一个类,它使用反射来检索类的实例化。我有一个属性被传递给它,它生成类似organization.company.staff.category.name的东西,其中第一项organization是模型,它是用反射实例化的,最后一项name是应该检索的属性。

第一个和最后一个之间的变化项是检索属性时要经过的关系。我们正在从一个报告平台的JSON值中检索数据,所以我们希望这样做,这样我们就可以重用相同的代码来检索系统范围的数据。内容organization.company.staff.category.name将明显改变每个JSON值。

您可以创建foreach,参见我的示例

示例

$relations = [
"company",
"staff",
"category",
];
$producto = Producto::find(1);
foreach($relations as $relation){ $producto = $producto->$relation; )}
return $producto->name;

相关内容

  • 没有找到相关文章

最新更新