laravel - 如何从数据透视表中检索元素
问题描述
我在job_seeker和job_offer(数据透视表=“job_seeker_job_offer)之间有多对多的关系,我有一个页面显示特定雇主的所有工作机会如何检索附加到特定job_offer的job_seeker的数量
显示工作机会的功能
public function show_jobs($id){
// $categories=Category::all();
$job_offer_all=Job_offer::all();
$employer=Employer::find($id);
$job_offers=Job_offer::where('employer_id',$employer_id)->with('employer')->get();
return view('employer.my_jobs',compact('employer_id','employer','job_offers','n_applicant'));
}
将求职者与工作机会联系起来的功能
public function send_offer($id,$employer_id,$offer_id){
$job_seeker=Job_seeker::find($id);
$job_offer=Job_offer::find($offer_id);
$employer=Employer::find($employer_id);
// Notification::route('mail', $employer->email)
// ->notify(new submit_job_demand($job_seeker));
$job_seeker->job_offer()->attach($job_offer->id);
}
解决方案
假设您在两个方向都有关系设置,您可以使用该withCount
方法来获取关系的计数:
$jobOffers = JobOffer::where('employer_id', $employer_id)
->withCount('job_seekers')
->with('employer')
->get();
foreach ($jobOffers as $offer) {
echo $offer->job_seekers_count;
}
推荐阅读
- ruby - FactoryBot 的随机特征
- java - 在多播器内将 Camel 处理器分组或批处理
- nlp-compromise - 用单词规范句子
- jquery-ui-sortable - 排序时使元素交换大小
- javascript - 无法让 Javascript 函数正常工作
- excel - Redim Preserve 和 Application.Transpose 更改数组基数的 VBA 错误
- python - 如何让这个 python 脚本运行得更快?
- python - 如何在 5 次尝试后退出 while-true 循环?
- java - Firebase Admin Java SDK - 数据库同步数据检索
- python - 如何在 Pandas 数据框中用中值替换异常值?