Laravel - Obter Valor da consulta no controller

2 respostas Resolvido
laravel
Cleiton_Conceicao

gente, preciso obter o valor que é retornado na consulta que sempre irá retornar 1 único registro.
até aí blz, porém quando tento inserir no banco ele dá erro pois ele está tentando inserir desse jeito…

'[{"psi_codigo_sup":2}]',


//minha consulta
$idSup = DB::table('pacientes') 
    ->select('psi_codigo_sup')
    ->where('pac_codigo','=',$id)
    ->get();

$prt->psi_codigo_sup=$idSup;
$prt->save();

2 Respostas

adriano_si

Qual erro? Qual o log que é lhe exibido e que mensagem é retornada?

Por qual motivo a inserção com o seu código no valor 2 não deveria ser possível?

Outra coisa, você está recuperando o psi_codigo_sup da tabela, setando exatamente esse mesmo valor no seu $prt->psi_codigo_sup e depois salvando.

Se seu código for PK, então está certo seu banco não deixar você salvar se o erro for um erro de constraint violation.

E mais importante, diga qual problema você quer resolver, porque o ideal de um código de tabelas em bancos de dados que são apenas um index numérico sequencial, é que eles sejam controlados pelo próprio database via sequences ou auto increments.

Cleiton_Conceicao
Solucao aceita

conseguir resolver…
fiz assim…

$idSup = DB::table('pacientes') 
        ->select('psi_codigo_sup')
        ->where('pac_codigo','=',$id)
        ->pluck('psi_codigo_sup')
        ->first();
Criado 4 de junho de 2019
Ultima resposta 4 de jun. de 2019
Respostas 2
Participantes 2