我有两个表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/