Laravel:数据库员工 ID 和姓名作为 QR 码



>laravel使用员工列表使用他们的ID生成QR码

这是我的路线

Route::get('/employee/printqr/{empcode?}/{empname?}', 'EmployeeController@printQr');

在观点 :

<!DOCTYPE html>
<html>
<body>
<br/><br/>
<img src="{{ Storage::url("emp_qr_codes/") }}{{ $empcode }}.png" style="width: 250px;"/>
<br/>
Employee Code: {{ $empcode }}
<br/>
Employee Name: {{ $empname }}
<script>
var empcode = @json($empcode);
var empname = @json($empname);
var ttt = '<br><br>' +
'<img src="{{ Storage::url("emp_qr_codes/") }}' + empcode + '.png" style="width:250px;" />' +
'<br>Employee Code: ' + empcode +
'<br>Employee Name: ' + empname;
var newWin = window.open('', 'Print-Window');
newWin.document.open();
newWin.document.write('<html><body>' + ttt + '</body></html>');
newWin.document.close();
newWin.focus();
setTimeout(function () {
newWin.print();
newWin.close();
}, 150);
setTimeout(function () {
window.location.href = '/employee/index';
}, 160);
</script>
</body>
</html>

这是我的控制器

public function getAllEmployeesList()
{
$list = array();
$list['data'] = array();
$qry = Employee::where('emp_active_status', 'Y')->where("emp_role_id", 6)->get()->toArray();
$list['iTotalRecords'] = count($qry);
$list['iTotalDisplayRecords'] = count($qry);
foreach ($qry as $emp) {
$emp['name'] = $emp['emp_first_name'] . ' ' . $emp['emp_last_name'];
$emp['emp_date_of_join'] = date('d/M/Y', strtotime($emp['emp_date_of_join']));
$list['data'][] = $emp;
}
return json_encode($list);

而且我无法使用使用ID的qrcode代码piker生成所有员工ID作为QR码

这是我的 printq 函数:

public function printQr($empcode, $empname)
{
return view('employee/print', compact('empcode', 'empname'));
}
public function getAllEmployeesList()
{
$response = collect()
//get All employees
$employees = Employee::where('emp_active_status', 'Y')->where("emp_role_id", 6)->get();
// put all employees in response collection against employees key
$response->put('employees', $employees);
// put all employees count in response collection against iTotalRecords key
$response->put('iTotalRecords', $employees->count())
// put all employees count in response collection against iTotalDisplayRecords key
$response->put('iTotalDisplayRecords', $employees->count()) //this doesn't make sense
return json_encode($list);
}

并在模型中添加这些

// this will join first name and last name
public function getNameAttribute()
{
return ($this->emp_first_name . ' ' . $this->emp_last_name);
}
// This will format your dates automatically
protected $casts = [
'emp_date_of_join'  => 'date:Y-m-d'
];
//Your route should be
Route::get('/employee/printqr/{empcode}/{empname}', 'EmployeeController@printQr');
// install this package
composer require simplesoftwareio/simple-qrcode

// config/app.php
'providers' => [
SimpleSoftwareIOQrCodeQrCodeServiceProvider::class
],
'aliases' => [
'QrCode' => SimpleSoftwareIOQrCodeFacadesQrCode::class
],
//in view if you want to list all employees qrcode
@foreach ($employees as $employee)
<p>{!! QrCode::size(200)->generate($employee->empcode. '-'.$request->empname); !!}</p>
@endforeach
//if you want to generate code against empcode being send in request url
<p>{!! QrCode::size(200)->generate($request->empcode. '-'.$request->empname); !!}</p>

最新更新