我正在使用 PHP MVC 框架 Yii。我有一个名为Category的模型,它与Product模型有HAS_MANY
关系。两个模型类都扩展了 CActiveRecord。
我正在寻求帮助以了解 OOP 在 PHP 中的一些特定工作方式。
在我的类别模型视图中,我试图找到该类别的总库存计数。例如,我可以这样做:
<?php
$total_inventory = 0;
foreach($category->products as $product)
$total_inventory = $total_inventory + $product->inventory;
echo $total_inventory;
?>
为什么我不能这样做?
<?php echo array_sum($category->products->inventory); ?>
这会导致错误:PHP Notice: Trying to get property of non-object
.
然后我想也许以下方法会起作用:
<?php echo array_sum($category->products->getAttribute('inventory')); ?>
但是,这会导致:Fatal error: Call to a member function getAttribute() on a non-object
。
是否可以array_sum()
通过稍微改变一些东西来以我尝试的方式使用,还是因为$category->products
实际上是一个对象而不是数组而无法使用?那正确吗?
我很高兴收到有助于解释我所缺少的内容的文章或文档。
谢谢