我有两个表jobs表(id,title,description)-> Jobs模型

candinates表(id,applied_job_id(FK工作),user_id)->候选模型

我想获得所有作业行,以及为每个作业应用的候选人总数

乔布斯模型

class Jobs extends Model
{

    public function appliedCount()
    {
        return $this->hasMany('App\Models\Candidate','applied_job_id');
    }
}


候选模型

class Candidate extends Model
{
    protected $table = 'candidate';
}


这是我的查询

 $query = Jobs::limit($this->limit)->offset($offset)->get();


当前,它返回jobs表的所有行

注意:
我将以JSON格式获取结果

最佳答案

您正在定义与不存在的模型Candidate的关系,其中,将表实际命名为JobActivity时,将模型命名为candidate并使用表candidates。尝试这个。

class Jobs extends Model
{
    public function candidate()
    {
        return $this->hasMany(Candidate::class,'applied_job_id');
    }
}

class Candidate extends Model
{
}


$jobs = Jobs::withCount('candidate')->limit($this->limit)->offset($offset)->get();

关于php - Laravel ORM:一对多关系以获得子表的总行数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44015641/

10-11 11:06