我的产品模型中包含以下代码:
/**
* Get product's attributes.
*
* @return array
*/
public function attributes()
{
$nestedAttributes = [];
foreach ($this->attributeGroups as $attributeGroup)
{
print_r($attributeGroup);
if (isset($this->{$attributeGroup->code}))
{
dd($attributeGroup);
$attributes = json_decode($this->{$attributeGroup->code});
foreach ($attributes as $key => $attribute)
{
$nestedAttributes[ $key ] = $attribute;
}
}
}
return $nestedAttributes;
}
然后在我的控制器中
$product = Product::with('children')->find(9);
$product->attributes();
问题是print_r($attributeGroup);
打印了App\AttributeGroup Object
,但是dd($attributeGroup);
打印了一个空数组。我不知道为什么当它只是一个变量名时会打印两个差值。