laravel 5.4中内部查询中的变量undefined

时间:2017-08-01 08:51:27

标签: php mysql sql laravel

我是laravel的新人,我在控制器中遇到问题.. 我需要从指定我的条件的表中检索一行,然后我需要将结果与两个表连接起来。 我尝试编写这段代码,但是我有这个错误[Undefined variable:coursenum]

public function stafflogin (Request $request) {$jobid=$request->input('jobID');
$coursenum=$request->input('referenceNumber');
$semester=$request->input('semester');
$checklogin=DB::table('members')->select('jobID')->where(['jobID'=>$jobid])->get();

这是查询:

if(count($checklogin)>0){ $users=DB::table('members_courses_assign')->join('members','members.externalPersonKey','=','members_courses_assign.externalPersonKey')
   ->whereIn('referenceNumber', function($query)
   {
       $query->select(DB::raw(1))
             ->from('courses')
             ->where(['referenceNumber'=>$coursenum,'termkey'=>$semester])->get();
   })
  ->where(['jobID'=>$jobid]) ->get();

1 个答案:

答案 0 :(得分:7)

请尝试这样的事情:

->whereIn('referenceNumber', function($query) use ($coursenum, $semestre)
{
        // put yout code here     
})