Php Laravel ORM:用于获取子表总行数的一对多关系
我有两个表Php Laravel ORM:用于获取子表总行数的一对多关系,php,mysql,laravel,laravel-5.4,Php,Mysql,Laravel,Laravel 5.4,我有两个表jobstable(id、title、description)->jobs模型 和candinatestable(id,applied_job_id(FK jobs),user_id)->候选模型 我想得到所有工作的行,以及每个工作申请的候选人总数 就业模式 class Jobs extends Model { public function appliedCount() { return $this->hasMany('App\Models\C
jobs
table(id、title、description)->jobs模型
和candinates
table(id,applied_job_id(FK jobs),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';
}
候选车型
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();
当前,它返回作业的所有行
表
注:
我将以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();