我的控制器中有一个调用刀片的函数:
public function detalhe(Request $request){
//pega o ID da marcação
$id = $request['id'];
$marcacao = Marcacao::find($id);
//prepara a receita pra ser criada
$dadosReceita['marcacao_id'] = $id;
$dadosReceita['codigo'] = $marcacao->id . $marcacao->cidadao_id . $marcacao->agenda_id;
//consulta a receita
$receita = Receita::where('marcacao_id', $id)->first();
//verifica se existe a receita / cria a receita
if (count($receita) > 0){
$receitas_id = $receita['id'];
}else{
$receita = Receita::create($dadosReceita);
$receitas_id = $receita['id'];
}
//pega a lista dos produtos da receita
$produtoReceitas = ProdutoReceita::where('receitas_id', $receitas_id)->get();
//prepara o prontuario pra ser criado
$dadosProntuario['marcacao_id'] = $id;
//consulta o prontuario
$prontuario = Prontuario::where('marcacao_id', $id)->first();
//verifica se existe o prontuario / cria o prontuario
if (count($prontuario) > 0){
$prontuario_id = $prontuario['id'];
}else{
$prontuario = Prontuario::create($dadosProntuario);
$prontuario_id = $prontuario['id'];
}
//pega a lista dos ciaps do prontuario
$ciapProntuarios = CiapProntuario::where('prontuario_id', $prontuario_id)->get();
//pega a lista de produtos da undade
$produtos = ProdutoUnidade::where('unidade_id', 2)
->get();
$vencimento = new DateTime(date("y-m-d"));
$vencimento->add(new DateInterval('P90D'));
$vencimento = $vencimento->format('y-m-d');
$ciaps = Ciap::where('sexo', $marcacao->cidadao->sexo)
->orWhere('sexo', 'A')
->get();
return view('agendas.detalhe', compact('ciapsProntuario', 'marcacao', 'produtos', 'vencimento', 'ciaps', 'receitas_id', 'prontuario_id', 'produtoReceitas'));
}
这非常大。我还有其他功能类似于上面的功能,但是只有三行不同。
我喜欢像下面那样做第二个功能
public function two(){
//other lines differente
return detalhe(); //return my other function
}
输入此代码后,我收到错误消息:
FatalErrorException
调用未定义函数App \ Http \ Controllers \ detalhe()
答案 0 :(得分:3)
您需要使用$this
。如果它属于同一控制器,请使用$this->detalhe()
对其进行调用。否则,请使用return redirect()->action('YourAction@YourController')