我有三张桌子--求职者、偏好和产业。偏好表是探索者的外型表,偏好与具有多态关系的产业表相关联。表结构如下:
求职者
id:
名称:
电子邮件:
电话:
偏好
id:
job_title:
位置:
薪金:
jobseeker_id:
行业
industry_id: 2
industryable_id: 1
industryable_type: App\Model\首选项
现在,我可以使用这种技术存储和获取所有数据,但是如何根据行业获取特定的数据。例如,如果我只想获取那些与某些行业id匹配的求职者,或者我希望在查询和获取匹配的求职者时传递行业id,并且只显示他们的个人资料。有可能吗,谁来帮帮我。
$jobseekers = Jobseeker::with(['preference.industries' => function($query) {
$query->where('industry_id', '=', 7);
}])->get();
上面的代码获取了所有拥有空行业数组的求职者和拥有行业id 7的求职者具有行业价值。我的目标是只找到那些有行业id 7或诸如此类的求职者。
发布于 2022-09-24 13:36:13
这完全是猜测,因为
select j.*, p.*, i.* // select the fields you actually want
from jobseekers j
inner join industryables i on i.industryable_id = j.id
left outer join preference p on p.jobseeker_id = j.id
where i.industry_id = 7
内部联接确保您只获得两个表(求职者和行业表)上存在的记录。
https://stackoverflow.com/questions/73827802
复制相似问题