在laravel

时间:2017-08-06 06:56:27

标签: php sql laravel

我是laravel和php的新手,我希望检索值取决于三个表,我使用此代码从第一个表中检索

 $jobid=$request->input('jobID');
    $coursenum=$request->input('referenceNumber');
    $semester=$request->input('semester');
    $checklogin=DB::table('members')->select('externalPersonKey')->where(['jobID'=>$jobid])->first();                        
 $extrnal1=$checklogin->externalPersonKey;

现在我将使用第一个表格中的信息来检查 members_courses_assign 表格中是否存在该值,然后将其与 course 表格结合使用。

请注意: ( referenceNumber )不是唯一的,所以我必须在条件

中用( termkey )编写它
    $referenceNumber1=DB::table('members_courses_assign')->select('referenceNumber','termkey')->join('courses','members_courses_assign.referenceNumber','=','courses.referenceNumber')->where(['externalPersonKey'=>$extrnal1,'termkey'=>$semester,'referenceNumber'=>$coursenum])->get();

我有这个错误:

  

QueryException SQLSTATE [23000]:完整性约束违规:1052   专栏' referenceNumber'在字段列表中是不明确的

我尝试另一种方式:

$referenceNumber1=DB::table('members_courses_assign')->select('referenceNumber','termkey')->where(['externalPersonKey'=>$extrnal1,'termkey'=>$semester,'referenceNumber'=>$coursenum])->first();
    $refrence1= $referenceNumber1->referenceNumber;
    $termkey3=$referenceNumber1->termkey;
    $infocourse=DB::table('courses')->select('enname','class')->where(['referenceNumber'=>$refrence1,'termkey'=>$termkey3])->first();

并出现此错误:

  

ErrorException类stdClass的对象无法转换为   串

1 个答案:

答案 0 :(得分:0)

尝试使用唯一的列名称,即Observable<User>,而不只是tablename.referencenumber等。