I want to write a code so that the user picks an ID in a combobox and specific information is shown in the HTML, but I need to do an if to know if the chosen vendor is A, B or C, but I can not return the variable inside the if to pass to view.
follows Controller:
$id = DB::table('rcis')->pluck('rci_id');
$rciid = $request->input('idrci');
$teste = DB::table('rcis')->select('fornecedor_escolhido')->where('rci_id', '=', $rciid)->get();
if($teste=='[{"fornecedor_escolhido":"A"}]'){
$rci = DB::table('rcis')
->join('colaboradors', 'rcis.fk_colaborador', '=', 'colaboradors.colaborador_id')
->join('centrocustos', 'rcis.fk_centrocusto', '=', 'centrocustos.centrocusto_id')
->join('status_rcis', 'rcis.fk_status_rci', '=', 'status_rcis.status_rci_id')
->join('fornecedor_detalhes', 'fornecedor_detalhes.fk_rcid', '=', 'rcis.rci_id')
->select('rcis.observacoes',
'rcis.data_rci',
'colaboradors.nome_colab',
'centrocustos.cod_centrocusto',
'status_rcis.descricao_status',
'rcis.fornecedor_escolhido',
'fornecedor_detalhes.valortotalcompra',
'fornecedor_detalhes.prazo_entrega')
->where('rci_id', '=', $rciid)
->where('rcis.fornecedor_escolhido','=', 'A')
->wherecolumn('rcis.fornecedor_escolhido','=', 'fornecedor_detalhes.letra')
->get();
}
elseif($teste=='[{"fornecedor_escolhido":"B"}]'){
$rci = DB::table('rcis')
->join('colaboradors', 'rcis.fk_colaborador', '=', 'colaboradors.colaborador_id')
->join('centrocustos', 'rcis.fk_centrocusto', '=', 'centrocustos.centrocusto_id')
->join('status_rcis', 'rcis.fk_status_rci', '=', 'status_rcis.status_rci_id')
->join('fornecedor_detalhes', 'fornecedor_detalhes.fk_rcid', '=', 'rcis.rci_id')
->select('rcis.observacoes',
'rcis.data_rci',
'colaboradors.nome_colab',
'centrocustos.cod_centrocusto',
'status_rcis.descricao_status',
'rcis.fornecedor_escolhido',
'fornecedor_detalhes.valortotalcompra',
'fornecedor_detalhes.prazo_entrega')
->where('rci_id', '=', $rciid)
->where('rcis.fornecedor_escolhido','=', 'B')
->wherecolumn('rcis.fornecedor_escolhido','=', 'fornecedor_detalhes.letra')
->get();
}
elseif($teste=='[{"fornecedor_escolhido":"C"}]'){
$rci = DB::table('rcis')
->join('colaboradors', 'rcis.fk_colaborador', '=', 'colaboradors.colaborador_id')
->join('centrocustos', 'rcis.fk_centrocusto', '=', 'centrocustos.centrocusto_id')
->join('status_rcis', 'rcis.fk_status_rci', '=', 'status_rcis.status_rci_id')
->join('fornecedor_detalhes', 'fornecedor_detalhes.fk_rcid', '=', 'rcis.rci_id')
->select('rcis.observacoes',
'rcis.data_rci',
'colaboradors.nome_colab',
'centrocustos.cod_centrocusto',
'status_rcis.descricao_status',
'rcis.fornecedor_escolhido',
'fornecedor_detalhes.valortotalcompra',
'fornecedor_detalhes.prazo_entrega')
->where('rci_id', '=', $rciid)
->where('rcis.fornecedor_escolhido','=', 'C')
->wherecolumn('rcis.fornecedor_escolhido','=', 'fornecedor_detalhes.letra')
->get();
}
return view ('/escolherci', ['id'=>$id, 'rci'=>$rci]);
}
and the view.blade:
<h3>Escolha uma chave estrangeira para selecionar uma RCI</h3>
<!--ID DROPDOWN-->
<label for="idrci">Chave estrangeira: </label>
<select class="form-control" type="text" name="idrci" id="idrci">
@foreach ($id as $idr)
{
<option value="{{ $idr }}">{{ $idr }}</option>
}
@endforeach
</select><br><br>
<input type="submit" value="Salvar"> </button>
</form>
@foreach($rci as $rc)
Requisitante: {{$rc->nome_colab}}<br><br>
Centro de custo: {{$rc->cod_centrocusto}}<br><br>
Descrição: {{$rc->observacoes}}<br><br>
Status RCI: {{$rc->descricao_status}}<br><br>
Valor total da compra: {{$rc->valortotalcompra}}<br><br>
Prazo entrega: {{$rc->prazo_entrega}}<br><br>
@endforeach
In the HTML form it is only for the controller to get the ID the target = _self to show on the same page. I need to return this variable within ifs $ rci for view