首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何获取多态关系匹配数据?

如何获取多态关系匹配数据?
EN

Stack Overflow用户
提问于 2022-09-23 12:33:12
回答 1查看 25关注 0票数 0

我有三张桌子--求职者、偏好和产业。偏好表是探索者的外型表,偏好与具有多态关系的产业表相关联。表结构如下:

求职者

id:

名称:

电子邮件:

电话:

偏好

id:

job_title:

位置:

薪金:

jobseeker_id:

行业

industry_id: 2

industryable_id: 1

industryable_type: App\Model\首选项

现在,我可以使用这种技术存储和获取所有数据,但是如何根据行业获取特定的数据。例如,如果我只想获取那些与某些行业id匹配的求职者,或者我希望在查询和获取匹配的求职者时传递行业id,并且只显示他们的个人资料。有可能吗,谁来帮帮我。

代码语言:javascript
运行
复制
$jobseekers = Jobseeker::with(['preference.industries' => function($query) {
        $query->where('industry_id', '=', 7);
    }])->get();

上面的代码获取了所有拥有空行业数组的求职者和拥有行业id 7的求职者具有行业价值。我的目标是只找到那些有行业id 7或诸如此类的求职者。

EN

回答 1

Stack Overflow用户

发布于 2022-09-24 13:36:13

这完全是猜测,因为

  1. 您还没有共享表的架构,所以我猜它们是如何链接的。
  2. 您还没有把它们放在代码库中,所以我无法测试查询
  3. --我不熟悉laravel,所以只能给您mysql查询。

代码语言:javascript
运行
复制
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

内部联接确保您只获得两个表(求职者和行业表)上存在的记录。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/73827802

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档