请教:为什么foreach中count子类统计结果都是1?(父类是正确的)

浏览:692 发布日期:2017/07/10 分类:ThinkPHP5专区
模型:namespace app\site\model;

use think\Model;

class Category extends Model
{
    protected $name = 'site_category';
    
    //==============================
    // 一多对:父类
    //==============================
    public function topcategory()
    {
        return $this->belongsTo('Category','parent_id','id');
    }
    
    //==============================
    // 一对多:子类
    //==============================
    public function subcategory()
    {
        return $this->hasMany('Category','parent_id','id');
    }
}
循环:foreach($object_category as $value)
{
    echo '<p>一级类名:'.$value->name.' —— 子类数('.count($value->subcategory).')</p>';
    
    foreach($value->subcategory as $subvalue)
    {
        echo '<p>二级类名:'.$subvalue->name.' —— 子类数('.count($subvalue->subcategory).')</p>';
    }
}
输出:一级类名:1 —— 子类数(3)
二级类名:1-1 —— 子类数(1)// 没有子类可结果是1
二级类名:1-2 —— 子类数(1)// 没有子类可结果是1
二级类名:1-3 —— 子类数(1)// 没有子类可结果是1
一级类名:2 —— 子类数(2)
二级类名:2-1 —— 子类数(1)// 没有子类可结果是1
二级类名:2-2 —— 子类数(1)// 没有子类可结果是1
一级类名:3 —— 子类数(0)// 正确
一级类名:4 —— 子类数(0)// 正确
一级类名:5 —— 子类数(0)// 正确
这才发的帖……打算百度一下,居然搜到自己问的问题,收录好快啊,晕死~

最佳答案
评论( 相关
后面还有条评论,点击查看>>