我是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的对象无法转换为 串
答案 0 :(得分:0)
尝试使用唯一的列名称,即Observable<User>
,而不只是tablename.referencenumber
等。