Joob 1 Denunciar post Postado Outubro 19, 2016 Boas Malta, Tenho o seguinte código @if($ver->status=='cancelado') <div class="btn btn-danger">{{$ver->status}}</div> @else <a href="https://www.blocktrail.com/BTC/tx/{{$ver->hash}}" target="_blank" class="btn btn-success">Ver</a> @endif Mas tenho um problema, que ele cria o Link do TXID, mas sempre que depois faço a mesma função para apareceu este link, ele básicamento é substituido pela ultima função.. Exemplo.. Clico na Função X Ele cria a Função Y e gere um link TXID Vou de seguida, clico na Função X (novamente) Ele cria a Função Y e gere outro link TXID Mas a partir do momento em que eu clico na Função X pela segunda, terceira, quarta x, etc.. Ele cria a Função Y, mas substitui o primeiro Link da primeira função, em x de acrescentar o segundo link por baixo do primeiro link e assim sucessivamente. - LINK 1 - LINK 2 - LINK 3 etc.... Abraço Compartilhar este post Link para o post Compartilhar em outros sites
Joob 1 Denunciar post Postado Outubro 21, 2016 update* Compartilhar este post Link para o post Compartilhar em outros sites
kelvim 11 Denunciar post Postado Outubro 21, 2016 Quando você clica na função x ele recarrega a página ou é um evento JS que cria ativa o link? pelo menos para mim, não ficou claro como você está tentando. Compartilhar este post Link para o post Compartilhar em outros sites
Joob 1 Denunciar post Postado Outubro 21, 2016 Ele recarrega a página para um outro link, mas é tipo instantaneo.. no fundo vai.te dar o "wallet" .. Imagina.. compro 0.1 e ao comprar, ele gera o wallet, após o pagamento ele é confirmado tudo ok, ele gera o txid (link da transacção) em que depois fica como validado (isto na primeira linha). O problema é, quando faço uma nova compra seja de que valor for, ele em vez de ficar na segunda linha não, ele fica como cancelado, mas fica validado na primeira linha, e deveria ficar era na segunda linha, porque ele acaba por substituir o txid do primeiro pagamento. Estou usando esta função $user = Wallets::where('wallet', $wallet)->get(); foreach($user as $usuario){ $id = $usuario->id_user; $invest = Investimento::where('wallet', $wallet)->first(); $invest->id_user = $id; $invest->wallet = $wallet; $invest->hash = $txData['data']['hash']; $invest->deposito = BlocktrailSDK::toBtc($txData['data']['estimated_value']); $invest->status = 'pendente'; $invest->save(); } Ou seja, penso eu que seja aqui, que ele deveria assumir que quando se faz outros pagamentos após o primeiro pagamento, deveriam ficar validados na linhas seguintes e não estar sempre a trocar o txid da primeira linha. Ele desta forma penso eu que esteja certo, só se falta acrescentar algo mais. Não sei se me fiz entender.. Compartilhar este post Link para o post Compartilhar em outros sites
kelvim 11 Denunciar post Postado Outubro 24, 2016 Bom dia, Se eu entendi direito essa segunda explicação: $invest = Investimento::where('wallet', $wallet)->first(); Quando você recupera um registro do banco, e salva, o framework vai assumir update. $invest->save(); se você pretende insert (inserir nova linha) precisa criar o objeto em vez de recuperá-lo do banco. Compartilhar este post Link para o post Compartilhar em outros sites
Joob 1 Denunciar post Postado Outubro 24, 2016 Boas, obrigado pela resposta. Exacto, entendi a tua lógica .. porque se eu retirar o save, ele não irá salvar, logo não irá bombar.. ele faz isso mesmo, assume como um update e está sempre a fazer update do respectivo valor. Será que conseguirias deixar a dica ? Abraço ;) Compartilhar este post Link para o post Compartilhar em outros sites
kelvim 11 Denunciar post Postado Outubro 25, 2016 Você está usando o Zend, certo? nesse caso você deve trocar essa linha: $invest = Investimento::where('wallet', $wallet)->first(); por: $invest = new MyTableGateway();//MyTableGateway é a sua classe de dados "Investimento" Outra forma (Não estou certo se funciona) seria trocar o save() por insert() Compartilhar este post Link para o post Compartilhar em outros sites
Joob 1 Denunciar post Postado Outubro 25, 2016 Estou usando "Laravel" .. Neste caso não irá dar.. porque essa opção que me deste será só para o "Zend".. Vou testar à mesma.. ;) Já testei com o insert() e não resultou.. Compartilhar este post Link para o post Compartilhar em outros sites
kelvim 11 Denunciar post Postado Outubro 25, 2016 Essa dica foi baseada no ZF, não conheço o Laravel. Mas tenta aí, quem sabe. Compartilhar este post Link para o post Compartilhar em outros sites
Joob 1 Denunciar post Postado Outubro 25, 2016 Nao funcionou .. :/ Compartilhar este post Link para o post Compartilhar em outros sites
kelvim 11 Denunciar post Postado Outubro 25, 2016 Uma rápida pesquisa na internet encontrei isso: $invest = Investimento::create(array('id_user' => $id, 'wallet' => $wallet)); A lógica é a seguinte, se você buscar um registro no banco e mandar salvar, ele vai atualizar, então para criar um novo registro, você deve instanciar o repositório, passar o valor e ai sim chamar o método save() Compartilhar este post Link para o post Compartilhar em outros sites
Joob 1 Denunciar post Postado Outubro 25, 2016 dessa forma não funcionou (com o create).. ele não chega a processar.. mas desta forma já deu $invest = Investimento::where(array('id_user' => $id, 'wallet' => $wallet)); mas acontece ainda o mesmo.. Ele substitui sempre pelo primeiro pagamento e o resto dos pagamentos fica cancelado.. Compartilhar este post Link para o post Compartilhar em outros sites
Joob 1 Denunciar post Postado Outubro 26, 2016 Acho que o problema se encontra aqui $invest->hash = $txData['data']['hash']; porque se eu utilizar o deposito ou o wallet, neste caso para aparecer (no html), ele funciona com as indicações do deposito, wallet etc.. com o hash é que não.. Compartilhar este post Link para o post Compartilhar em outros sites
Joob 1 Denunciar post Postado Outubro 27, 2016 à partida já resolvi ;) Compartilhar este post Link para o post Compartilhar em outros sites