John Hebert Trindade Posted January 21, 2024 at 12:08 PM Report Share #632652 Posted January 21, 2024 at 12:08 PM (edited) Bom dia a todos, Estou recebendo os dados através do json e enviando para a model da seguinte forma: //Recebo os dados $receiveData = file_get_contents('php://input'); $data = json_decode($receiveData, true); //Adiciono a posição do usuário atraves da sessão $data['adms_user_id'] = $_SESSION['user_id']; //Envia os dados para a model $createEncomenda = new \App\adms\Models\encomenda\AdmsAdd(); $createEncomenda->create($data); Na controle recebo da seguinte forma: public function create(array $data = null) { // Recebo os dados que vieram da controler $this->data = $data; Só que ao dar o var_dump em $this->data ou em $data me devolve o array da seguinte forma: $data: Array ( [0] => Array ( [name_encomenda] => Pedido de Material [adms_fornecedor_id] => 1 [adms_produto_id] => 1 [qtde] => 3 [observacoes] => [barcode] => 560010001 [productName] => Bisturi ) [1] => Array ( [name_encomenda] => Pedido de Material [adms_fornecedor_id] => 1 [adms_produto_id] => 4 [qtde] => 4 [observacoes] => [barcode] => 560000023 [productName] => Pinça ) [adms_user_id] => 1 ) mas gostaria e preciso receber da seguinte forma: $this->data: Array ( [name_encomenda] => Pedido de Material [adms_fornecedor_id] => 1 [adms_produto_id] => Array ( [0] => 1 [1] => 4 [2] => 2 ) [qtde] => Array ( [0] => 3 [1] => 4 [2] => 1 ) [observacoes] => [codigo_barras] => Array ( [0] => 560010001 [1] => 560000023 [2] => 560000021 ) [adms_user_id] => 1 ) Agora a pergunta, como faço isso? Edited January 21, 2024 at 12:11 PM by John Hebert Trindade Link to comment Share on other sites More sharing options...
Ivo Vicente Posted January 21, 2024 at 09:54 PM Report Share #632654 Posted January 21, 2024 at 09:54 PM Viva Se os dados não estão no formato que precisas, tens que os trabalhar antes do $createEncomenda->create($data); em termos praticos, tens que criar um processo que transforma o que recebes no que sabes que precisas. Podia ser uma oportunidade para alavancar os teus conhecimentos, e explorares o Adapter Pattern ou até mesmo usar um DTO (Data Transfer Object) Feito é melhor que perfeito Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now