提问人:user2685743 提问时间:10/17/2023 更新时间:10/17/2023 访问量:16
Laravel Maat网站从版本 2 到版本 3 的升级代码
Laravel Maatwebsite upgrade code from version 2 to version 3
问:
我正在将 Laravel 应用程序从版本 8 升级到 9。我已经设法升级了大部分内容,但在升级 Maatwebsite Excel 插件时遇到了问题。我有以下代码,我需要知道将其升级到版本 3 的最简单方法。我有很多这样的代码函数,这样做将是一项繁琐的任务。
public function downloadFullMml(Request $request)
{
$array = [];
$jobid = $request->jobid;
$meta = $request->meta;
$jmml = '';
$job = '';
$hvcount = 0;
if($meta==1)
{
$headings = ["id","MML No","Type","Category","Sub Category","Description","UOM","Price","Qunatity","Total"];
array_push($array,$headings);
$items = DB::table('job_mml')
->selectRaw('job_mml.mmlno as jobmmlid,mml.unitprice,items.*,categories.highvalue as hv,categories.name as catname,subcategories.name as subcat,makes.name as make,description.name as description,
mml.quantity as mmlquantity,mml.quantity*mml.unitprice as total')
->leftjoin('jobs','jobs.id','=','job_mml.jobnumber')
->leftjoin('mml','mml.mmlid','=','job_mml.id')
->leftjoin('items','items.id','=','mml.item')
->leftjoin('categories','categories.id','=','items.category_id')
->leftjoin('subcategories','subcategories.id','=','items.subcatid')
->leftjoin('makes','makes.id','=','items.make')
->leftjoin('description','description.id','=','items.description')
->orderBy('jobmmlid')
->where('jobs.id',$jobid)->get();
$job = Job::find($jobid);
$arrx = [];
$arry = [];
array_push($arry,'Job Name');
array_push($arry,$job->jobname);
array_push($arrx,$arry);
$arry = [];
array_push($arry,'Job Number');
array_push($arry,$job->jobnumber);
array_push($arrx,$arry);
$arry = [];
array_push($arry,'Job Value');
array_push($arry,number_format($job->value,2));
array_push($arrx,$arry);
$arry = [];
array_push($arry,'Currency');
array_push($arry,$job->currency);
array_push($arrx,$arry);
}
else
{
$headings = ["id","MML No","Type","Category","Sub Category","Description","UOM","Price","Qunatity","Total"];
array_push($array,$headings);
$items = DB::table('add_job_mml')
->selectRaw('add_job_mml.mmlno as jobmmlid,addmml.unitprice,items.*,categories.highvalue as hv,categories.name as catname,subcategories.name as subcat,makes.name as make,description.name as description,
addmml.quantity as mmlquantity,addmml.quantity*addmml.unitprice as total')
->leftjoin('additional_jobs','additional_jobs.id','=','add_job_mml.jobnumber')
->leftjoin('addmml','addmml.mmlid','=','add_job_mml.id')
->leftjoin('items','items.id','=','addmml.item')
->leftjoin('categories','categories.id','=','items.category_id')
->leftjoin('subcategories','subcategories.id','=','items.subcatid')
->leftjoin('makes','makes.id','=','items.make')
->leftjoin('description','description.id','=','items.description')
->orderBy('jobmmlid')
->where('additional_jobs.id',$jobid)->get();
$job = AdditionalJob::find($jobid);
$arrx = [];
$arry = [];
array_push($arry,'Job Name');
array_push($arry,Job::find($job->parent_job)->jobname);
array_push($arrx,$arry);
$arry = [];
array_push($arry,'Job Number');
array_push($arry,$job->jobnumber);
array_push($arrx,$arry);
$arry = [];
array_push($arry,'Job Value');
array_push($arry,number_format($job->value,2));
array_push($arrx,$arry);
$arry = [];
array_push($arry,'Currency');
array_push($arry,$job->currency);
array_push($arrx,$arry);
}
//print_r($items);exit;
foreach($items as $item)
{
$arr = [];
array_push($arr,$item->id);
array_push($arr,$item->jobmmlid);
array_push($arr,$item->type);
array_push($arr,$item->catname);
array_push($arr,$item->subcat);
array_push($arr,$item->description);
array_push($arr,$item->uom);
array_push($arr,$item->unitprice);
array_push($arr,$item->mmlquantity);
array_push($arr,$item->total);
array_push($array,$arr);
if($item->hv==1)
$hvcount=$hvcount+1;
}
Excel::create($job->jobnumber.'_'.'MML_', function($excel) use($array,$hvcount,$arrx) {
$excel->sheet('sheet1', function($sheet) use($array,$arrx,$hvcount) {
$sheet->fromArray($arrx);
$sheet->fromArray($array);
//$sheet->fromArray($arrlastx);
$sheet->setAutoFilter();
$sheet->setHeight(1, 50);
$sheet->cell('B15:B'.(14+$hvcount), function($cells) {
$cells->setAlignment('left');
$cells->setValignment('middle');
$cells->setFont(array(
'bold' => true
));
});
$sheet->cell('C15:C'.(14+$hvcount), function($cells) {
$cells->setAlignment('left');
$cells->setValignment('middle');
$cells->setFont(array(
'bold' => true
));
});
$sheet->cell('D15:D'.(14+$hvcount), function($cells) {
$cells->setAlignment('left');
$cells->setValignment('middle');
$cells->setFont(array(
'bold' => true
));
});
$sheet->cell('E15:E'.(14+$hvcount), function($cells) {
$cells->setAlignment('left');
$cells->setValignment('middle');
$cells->setFont(array(
'bold' => true
));
});
$sheet->cell('F15:F'.(14+$hvcount), function($cells) {
$cells->setAlignment('left');
$cells->setValignment('middle');
$cells->setFont(array(
'bold' => true
));
});
$sheet->cell('G15:G'.(14+$hvcount), function($cells) {
$cells->setAlignment('left');
$cells->setValignment('middle');
$cells->setFont(array(
'bold' => true
));
});
$sheet->cell('H15:H'.(14+$hvcount), function($cells) {
$cells->setAlignment('left');
$cells->setValignment('middle');
$cells->setFont(array(
'bold' => true
));
});
$sheet->cell('I15:I'.(14+$hvcount), function($cells) {
$cells->setAlignment('left');
$cells->setValignment('middle');
$cells->setFont(array(
'bold' => true
));
});
});
})->download('xlsx');
}
答: 暂无答案
评论