/** * Run the database seeds. * * @return void */ public function run() { factory(Maker::class, 3)->create(); factory(Buyer::class, 3)->create(); factory(Commodity::class, 5)->create(); factory(Goods::class, 5)->create(); $goods = Goods::all()->random(2); $exJoinings = []; $inJoinings = []; foreach ($goods->keys() as $key) { $exJoinings[$key] = $this->randJoiningsFoxExternalOrder(); $inJoinings[$key] = $this->randJoiningsForInternalOrder(); } $externalOrder = new ExternalOrder(); $externalOrder->contract_no = '15EL1166'; $externalOrder->sign_date = Carbon::now(); $externalOrder->buyer()->associate(Buyer::all()->random()); $externalOrder->save(); $externalOrder->goods()->saveMany($goods->all(), $exJoinings); $internalOrder = new InternalOrder(); $internalOrder->externalOrder()->associate($externalOrder); $internalOrder->maker()->associate(Maker::all()->random()); $internalOrder->save(); $internalOrder->goods()->saveMany($goods->all(), $inJoinings); }
public function export($id) { $importExcel = storage_path("excel/import/contract.xls"); if (!file_exists($importExcel)) { exit("Contract template file is not exist.\n"); } $objPHPExcel = \PHPExcel_IOFactory::load($importExcel); $order = ExternalOrder::find($id); $goods = $order->goods; $sheet = $objPHPExcel->getActiveSheet(); // the second goods start from line 16 in every contract. $sheet->insertNewRowBefore(16, $goods->count() - 1); // set cell value for ($i = 0; $i < $goods->count(); $i++) { $row = $i + 15; $g = $goods->get($i); $sheet->setCellValue('A' . $row, $g->commodity->name); $sheet->setCellValue('B' . $row, $g->specification); $sheet->setCellValue('F' . $row, $g->pivot->quantity); $sheet->setCellValue('G' . $row, $g->pivot->unit_price); $sheet->setCellValue('I' . $row, '=F' . $row . '*G' . $row); } $objWriter = \PHPExcel_IOFactory::createWriter($objPHPExcel, 'Excel5'); $exportExcel = storage_path('excel/export/15EL1166.xls'); $objWriter->save($exportExcel); return response()->download($exportExcel); }