私はPHPMVCフレームワークYiiを使用しています。製品モデルと関係のあるCategoryというモデルがあります。どちらのモデルクラスもCActiveRecordを拡張します。HAS_MANY
私は、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
実際には配列ではなくオブジェクトであるために使用できませんか?そうですか?
不足しているものを説明するのに役立つ記事やドキュメントが提供されてうれしいです。
ありがとう