eu tenho criou uma matriz de sessão em laravel usando o código:
Session::put("backUrl", array($workout_id =>URL::previous())) ;
//or
Session::push("backUrl.$workout_id", URL::previous()) ;
Ambos funcionam e ele foi criado com sucesso e eu pude vê-lo no depurador
"backUrl" => array(1) [
"78" => string (36) "http://192.241.4.104/admin/view?cs=1"
]
agora não consigo imprimir, o código que usei é
echo Session::get("backUrl"[$workout_id]);
mostra um syntax error, unexpected "["
erro
E eu também usei
echo Session::get("backUrl[$workout_id]");
nada funciona
Respostas:
2 para resposta № 1Porque você digitou seu array inteiro sob a variável de sessão "backurl".
se você var_dump:
var_dump(Session::get("backUrl")):
Tenho certeza que você tem:
array(
[2] => "http://previous-url"
)
Então, se você for assim:
$lastUrl = Session::get("backUrl");
echo array_keys($lastUrl)[0]; //workout-ID
echo array_values($lastUrl)[0]; //Value
Ou você salva suas duas variáveis separadamente:
Session::put("backUrl", URL::previous());
Session::put("lastWorkoutId", $workout_id);
E então leia-os individualmente:
Session::get("backUrl");
Session::get("lastWorkoutId");
2 para resposta № 2
Depois de vários testes, consegui o que queria uma matriz de sessão para URL do botão de retorno e obrigado a @Steini por suas valiosas sugestões. Estou postando isso como poderia ser útil para alguém ...
No começo eu mudei usando
Session::put("backUrl", array($workout_id =>URL::previous())) ;
para
Session::put("backUrl.$workout_id", URL::previous()) ;
Viu o Session :: push tag no Laravel Docs e tentou, felizmente, funcionou. Porque o primeiro exclui a matriz de sessão existente e cria uma nova.
E imprimir o array de sessão do Laravel é tão simples quanto imprimir uma sessão com sufixo adicionado
Session::get("sessionArrayName")["id"]
(i.e)
Session::get("backUrl")[$workout_id];
Assim, tenho a minha matriz de sessão impressa e usei para o meu botão de volta ....