获取器(getDoneAttr)

$this->progress() 为模型一对多的关系

public function getProgressNumAttr(){

//通过获取器 获取与其关联的(一对多)中最大的Progress_num值,若无则为0!

$progress_num = $this->progress()->max(‘progress_num’, TRUE);

return $progress_num;

}

<?php
namespace app\portal\model;

use think\Model;
use app\portal\model\ProgressModel;
use app\portal\model\MeetingModel;


class TopicsModel extends Model
{
    /**
     * 模型名称
     * @var string
     */
    protected $name = 'topics';
    // protected $type = [
    //     'files' => 'array',
    // ];
    public function progress(){
        return $this->hasMany(ProgressModel::class,"topics_id",'id')->order('progress_date');
    }
    public function meeting(){
        return $this->belongsTo(MeetingModel::class,"meeting_id",'id');
    }
    public function getProgressNumAttr(){
//通过获取器 获取与其关联的(一对多)中最大的Progress_num值,若无则为0!
        $progress_num = $this->progress()
            ->max('progress_num', TRUE);
        return $progress_num;
    }
    public function getProgressDateAttr(){
        $progress_date = $this->progress()
            ->order('progress_num', 'desc')
            ->value('progress_date');
        return $progress_date??'';
    }
#$v->progress_date;

public function getProgressAttr(){
        $progress_date = $this->progress()
            ->order('progress_num', 'desc')
            ->value('progress_date');
        return $progress_date??'';
    }

#$v->progress;

}

发表回复