Laravel - Obter Valor da consulta no controller

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();

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.

conseguir resolver…
fiz assim…

        $idSup = DB::table('pacientes') 
        ->select('psi_codigo_sup')
        ->where('pac_codigo','=',$id)
        ->pluck('psi_codigo_sup')
        ->first();
1 curtida