[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Leonardo Szpaler Pereira
Criador Leonardo Szpaler Pereira 06/10/2022

Fala Prof, tenho uma função no sistema que pega o id de uma sessão (sessão fotográfica previamente criada/serviço) e vê os produtos que tem nela, após guarda esses produtos em uma variável  e verifica a disponibilidade dos fotógrafos pro dia escolhido que o front também envia ** e retorna isso pro front (o fotográfos disponiveis para aquele produto recebido em cada dia no calendario).

Porém eu preciso passar por essa função em uma outra tela que estou fazendo aonde os usuários do sistema precisam apenas consultar disponibilidade de fotógrafos para determinado produto e região sem necessidade prévia de criar uma sessão (serviço).

Nesse caso várias partes/teças do sistema usam a mesma função no back (api) e não posso simplesmente ir e mudar a função para adaptar para o que preciso pois só minha tela não precis de um ID de sessão previamente kkk, e a equipe de líderes não me deixaram criar uma função separada pois querem centrar tudo num lugar. No caso minha tela não cria uma sessão previamente então a minha tela o front end manda direto o ID do produto escolhido sem necessidade de uma sessão para depois pegar a sessão e identificar os produtos, ela passsa um ID de produto direto e não passa ID de sessão.

aí não estou sabendo REFATORAR o código para conseguir deixar essa função aceitar vir uma REQUEST sem um ID de sessão (mas também deve continuar recebendo um id quando vir) e também de pegar o produto direto(id do ITEM/PRODUTO que vem da minha tela) sem fazer a consulta direto na sessão que vem da REQUEST.

 

consegue me ajudar nessa?

 

public function search(Request $request)
{

$this->validate($request, [
'filter' => ['required'],
]);

$filter = $request->input('filter');

$session = Session::with([
'neighborhood.city',
'service' => fn ($query) => $query->withTrashed()
->with(['products.item.items' => fn ($query) => $query->where('work_type', WorkType::LOCAL)]),
])
->when($filter['sessions'], function (Builder $query, $filter) {
return $query->whereIn('id', $filter);
})
->first();

$data = [];

/** @var ServiceProduct $item */
$products = $session->service->products->filter(function ($product) {
return $product
->item
->items
->reduce(fn ($acc, $item) => $acc || $item->work_type === WorkType::LOCAL, false);
});

$deliverables = [];

foreach ($products as $product) {
$_items = $product->item->items
// ignora o HomeStaging
->filter(fn($item) => ($item->work_type === WorkType::LOCAL && $item->id != 41))
->pluck('id')->values()->toArray();
$deliverables = array_merge($deliverables, $_items);
}

 

Criador Leonardo Szpaler Pereira 06/10/2022

https://uploaddeimagens.com.br/imagens/H0kD8ig

Leonardo Szpaler Pereira
Criador Leonardo Szpaler Pereira 06/10/2022

resumindo: 

A função recebe sempre -> FILTER que manda

Id de sessão

id de região 

ela faz uma busca usando o id recebido da sessão na sessão e identifica os produtos, dai em diante a função irá buscar os fotográfos dias disponiveis etc..

___________________________________________________________________________________________________ 

O que preciso é: 

Fazer a função não tornar o ID de sessão algo obrigatório para que consiga avançar pois se eu mandar uma request sem ID da sessão ele da erro pois não consegue encontrar nenhum produto. 

E REFATORAR para algo que eu consiga quando não vir ID DE SESSÃO fazer a variavel receber o ID DO PRODUTO(CHAMADO DE ITEM_ID) para que possa identifar o mesmo e seguir em frente.

Leonardo Szpaler Pereira
Criador Leonardo Szpaler Pereira 06/10/2022

te mandei alguns prints no zap aquele dia do meu celular 43996064144

Leonardo Szpaler Pereira
Manager Carlos Ferreira 06/10/2022

Olá, Leonardo!
Tudo bem?

Como a sua pergunta é algo muito particular, vou pedir que encaminhe ela para [email protected], porque assim posso te ajudar de forma mais direcionada, caso eu tenha disponibilidade no momento.

Carlos Ferreira
Criador Leonardo Szpaler Pereira 06/10/2022

Prof.. agradeço d+ sempre sua disponibilidade em ajudar! OBrigado

Leonardo Szpaler Pereira
Rafael Belchior da Silva 06/10/2022

ai nao eh duvida de cursp, ai tem que pagar uma consultoria amigao kkkk

Rafael Belchior da Silva
Criador Leonardo Szpaler Pereira 06/10/2022

Que seja amigo Rafael! Inclusive preciso de mentoria um pouco mais próxima, vejo total necessidade para acelerar meu processo de crescimento.

Se tiver de pagar e couber no meu bolso sem problemas, mas só vou saber isso abrindo um ticket e perguntando né? rsrsrsrs

 

grande abraço! 

Leonardo Szpaler Pereira
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!