У меня есть этот код в моей модели продукта:
/**
* 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);
распечатал пустой массив.Я не знаю, почему он напечатал 2 значения разности, хотя это было просто имя переменной.