douzhu3654 2018-03-22 19:51
浏览 124
已采纳

在laravel中搜索列名以获取行

i have two table(jobs,skills) skillsenter image description here jobsenter image description here

i want to search by laravel for jobs by skill. when i write html -> 1-(search for column name) 2-(get rows where that column equal 1 ) 3-(get jobs where job_id(table job) = job_id(table skill)

that my code

$search_name = $request->input('search');
$skillscolumns =  DB::getSchemaBuilder()->getColumnListing('skills');

//1
$query = Skill::select('*');
foreach($skillscolumns as $column) {
   $query->where($column, '=', $search_name);
}
$searchedColumn = $query->get();

//2
foreach ($searchedColumn  as  $value) {
    $skillRows = collect($value)->filter(function ($value){ return $value === 1;})->get();
}

//3
foreach ( $skillRows  as  $value) {
    $wantedJobs = Job::where('job_id',$value->job_id)->get();
}
  • 写回答

1条回答 默认 最新

  • dsvbtgo639708 2018-03-23 13:48
    关注
    $jobs = [];
    if(in_array($request->search, (new Skill)->getFillable())){
        $ids = Skill::where($request->search, true)->get()->pluck('job_id');
        if($ids){
            $jobs = Job::find($ids);
        }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 拟通过pc下指令到安卓系统,如果追求响应速度,尽可能无延迟,是不是用安卓模拟器会优于实体的安卓手机?如果是,可以快多少毫秒?
  • ¥20 神经网络Sequential name=sequential, built=False
  • ¥16 Qphython 用xlrd读取excel报错
  • ¥15 单片机学习顺序问题!!
  • ¥15 ikuai客户端多拨vpn,重启总是有个别重拨不上
  • ¥20 关于#anlogic#sdram#的问题,如何解决?(关键词-performance)
  • ¥15 相敏解调 matlab
  • ¥15 求lingo代码和思路
  • ¥15 公交车和无人机协同运输
  • ¥15 stm32代码移植没反应