public function showArchiveAction($repository, $month, $page = 1) { list($startTime, $endTime) = myTools::getBetweenTimes($month); $builder = $this->modelsManager->createBuilder()->from('Files')->rightJoin(myParser::getModelName($repository), 'sub.file_id = Files.id', 'sub')->where('created_at > :start:', ['start' => $startTime->toDateTimeString()])->andWhere('created_at < :end:', ['end' => $endTime->toDateTimeString()])->orderBy('Files.id DESC')->columns(['Files.*', 'sub.*']); $this->view->page = $this->getPaginatorByQueryBuilder($builder, 25, $page); $this->view->page->month = $month; $this->view->page->repository = myParser::getModelBySourceId($repository); }
public function getWebDataAction($type, $source_id, Files $file) { // $parser = myParser::getParser($type,$source_id);//获取Parser //// dd($parser); // $data = $parser->parseInfo();//抽取数据 // dd($data); $model = myParser::getModelBySourceId($type, $source_id); if ($model) { return $this->redirectByRoute(['for' => 'standards.show', 'file' => $model->getStandard()->id]); } $file->addWebFile($source_id, $type); return $this->redirectByRoute(['for' => 'standards.show', 'file' => $file->id]); }
public function addWebFile($source_id, $type) { $parser = myParser::getParser($type, $source_id); //获取Parser // dd($parser); $data = $parser->parseInfo(); //抽取数据 // dd($data); /** @var myModel|FileableTrait $this */ $this->save($parser->getDataForFile()); //保存file对象 $data['file_id'] = $this->id; //补充数据,添加file_id $model = myParser::getModelBySourceId($type); //获取模型 $model->save($data); //保存模型数据 EventFacade::fire('standards:addWebFile', $model); $this->saveFileable($model); //保存关联对象数据 return $this; }