【发布时间】:2018-01-13 17:28:11
【问题描述】:
我是 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 的对象无法转换为 字符串
【问题讨论】:
-
select("referenceNumber"...应该是select("tablename.referenceNumber"...