我正在使用 Laravel 5.8 和laravel-excel將一些數據導出到 Excel 文件中。
所以我將此方法添加到模型中:
public static function getAccounts($id)
{
$records = DB::table('members')
->where('mys_creator_id',$id)
->where('mys_olp_id',4)
->join('my_students', 'members.mbr_usr_id', '=', 'my_students.mys_mbr_id')
->join('students', 'members.mbr_usr_id', '=', 'students.std_mbr_id')
->select('members.mbr_name', 'members.mbr_family', 'members.mbr_father_name','members.mbr_national_code','members.mbr_birthday','members.mbr_phone','members.mbr_mobile','members.mbr_post_code','members.mbr_prv_id','members.mbr_cit_id','members.mbr_gender_id','members.mbr_address','students.std_degree_id','students.std_grade_id','students.std_filed_id','students.std_major_id','students.std_school','students.std_education_type_id','my_students.mys_paid_price')
->get()->toArray();
return $records;
}
這工作正常,但一些數據保存而id
不是文本值:
所有這些 id 都存儲在baseinfos
表中。例如std_degree_id
的8是這樣的:
現在不是返回數字8,而是需要bas_value
在導出的 Excel 文件中獲取並返回它。
所以它看起來像這樣:
if(students.std_degree_id == 9){
// print Elementry
}elseif(students.std_degree_id == 10){
// print Academy
}else{
...
}
那我該怎麼做呢?
更新#1:
$records = DB::table('members')
->where('mys_creator_id',$id)
->where('mys_olp_id',4)
->join('my_students', 'members.mbr_usr_id', '=', 'my_students.mys_mbr_id')
->join('students', 'members.mbr_usr_id', '=', 'students.std_mbr_id')
->join('baseinfos', 'students.std_degree_id', '=', 'baseinfos.bas_id')
->join('baseinfos', 'members.mbr_gender_id', '=', 'baseinfos.bas_id')
->select(...,'baseinfos.bas_value','members.mbr_address','baseinfos.bas_value',...)->get()->toArray();
return $records;
如果我再添加兩個baseinfos
表連接,則會出現此錯誤:
SQLSTATE[42000]: Syntax error or access violation: 1066 Not unique
這主要是因為我baseinfos.bas_value
在select
.
您需要再加入一張表並顯示該表中的相應字段:
public static function getAccounts($id)
{
$records = DB::table('members')
->where('mys_creator_id',$id)
->where('mys_olp_id',4)
->join('my_students', 'members.mbr_usr_id', '=', 'my_students.mys_mbr_id')
->join('students', 'members.mbr_usr_id', '=', 'students.std_mbr_id')
->join('baseinfos', 'students.std_degree_id', '=', 'baseinfos.bas_id')
->select('members.mbr_name', 'members.mbr_family', 'members.mbr_father_name','members.mbr_national_code','members.mbr_birthday','members.mbr_phone','members.mbr_mobile','members.mbr_post_code','members.mbr_prv_id','members.mbr_cit_id','members.mbr_gender_id','members.mbr_address','baseinfo.bas_value','students.std_grade_id','students.std_filed_id','students.std_major_id','students.std_school','students.std_education_type_id','my_students.mys_paid_price')
->get()->toArray();
return $records;
}
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句