[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
JEFFERSON LUIZ ROSSINI
Criador JEFFERSON LUIZ ROSSINI 15/03/2022

Carlos, boa tarde!

Se eu quero deletar apenas um item do meu cache pelo ID e não o cache todo.
Estou tentando dessa forma e não funcionou:

session()->forget(['orcamentoItems', $id]);
        return redirect()->back();

No meu caso usei da session, porem acredito que é o mesmo principio ou estou errado?
Olhei na documentação e para excluir seria este exemplo ai, mas ele acaba apagando o "orcamentoItems" inteiro.

 

Manager Carlos Ferreira 15/03/2022

Olá, Jefferson!
Tudo bem?

Você pode concatenar esse id na string, para criar:
session()->put("orcamentoItems-{$id}");

Depois para recuperar:
session()->get("orcamentoItems-{$id}");

E para deletar:
session()->forget("orcamentoItems-{$id}");

Carlos Ferreira
Criador JEFFERSON LUIZ ROSSINI 15/03/2022

Professor, dessa forma pode até funcionar, mas acredito que ficaria de um jeito bem amador.
Olha o que eu preciso:

Toda vez que adiciono um item no meu redis, ele cria isso:

array:2 [
  0 => array:5 [
    "descricao" => "Teste"
    "vr_servico" => "100"
    "vr_desconto" => "10"
    "vr_total" => 90
    "observacao" => "teste"
  ]
  1 => array:5 [
    "descricao" => "Teste item 2"
    "vr_servico" => "200"
    "vr_desconto" => "10"
    "vr_total" => 190
    "observacao" => "Teste 2"
  ]
]

O que eu quero é excluir um item sem excluir os demais. Acho que deve existir um method pra isso.

JEFFERSON LUIZ ROSSINI
Manager Carlos Ferreira 15/03/2022

Por que amador? O que você considera amador?

---

Você está separandos o items em sessão por tenant, ou tudo junto?

Uma alternativa seria pegar os dados da sessão, usar algo único do seu produto (id ou nome) e deletar esse registro, e após isso atualizar a sessão com os itens.

Pegou a ideia?
Tipo, você faz um map no array com os itens, encontra o que deseja excluir, deletar ele do array, e por fim atualiza o array em sessão.

Carlos Ferreira
Criador JEFFERSON LUIZ ROSSINI 15/03/2022

Professor, eu entendi errado a ideia. Ficou perfeito dessa forma que você passou primeiro.
Porem a segunda ideia sua ficou mais top. Muito Obrigado.

JEFFERSON LUIZ ROSSINI
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!