Я использую Laravel 4.2. У меня есть метод для хранения файлов, и я пытаюсь нажать элементы в массиве сеансов. Каждый раз, когда пользователь нажимает кнопку, я хочу сохранить эти имена файлов в массиве сеансов с именем, а позже я должен их получить.Как добавить элементы в массив сеансов Laravel
Я пытаюсь с помощью следующего кода:
$name = Input::get('name');
$input = Input::all();
foreach ($input[$name] as $key => $corporate) {
$file_name = $key.'_'.$current_time . '_' . $corporate->getClientOriginalName();
//code for uploading files
if(Session::has($name)) {
Session::push($name.".".$key, $file_name); //I want to add new items in this array
} else {
Session::put($name, $file_name); //for first image
}
}
Как я прочитал из Laravel документы:
протолкнуть Значение Onto Массив Session Значение
Сессия :: push ('user.teams', 'developers');
); `
Но это не добавляет новые элементы в массив, он переписывает его.
После первой загрузки изображений в массиве сеанса у меня есть:
["director_front_passport[]"]=>
array(1) {
[1]=>
array(1) {
[0]=>
string(54) "0_1472669237_12894473_678457885627912_1258115018_o.jpg"
}
}
После загрузки второго изображения, сеанс:
["director_front_passport[]"]=>
array(1) {
[2]=>
array(1) {
[0]=>
string(33) "0_1472669255_animated_loading.gif"
}
}
Каков правильный способ перетаскивания элементов в массиве сеансов с определенным именем, я имею в виду, что я должен получить эти элементы позже, используя: Session :: get ('name'), например.
Я использую этот метод, когда я должен добавить новый элемент в существующий массив сессии. Вот почему мне нужна эта проверка, если у меня есть сеанс - if (Session :: has ($ name)) { Session :: push ($ name. ".". $ Key, $ file_name); } else { Session :: put ($ name, $ file_name); –
Но если вы храните несколько элементов в одном и том же сеансовом ключе, имеет смысл хранить массив элементов. Наличие одного элемента на нескольких одинаковых адресах ('name', 'name0', 'name1' и т. Д.) Не так чисто, как наличие 'Session :: get ('name') = [item0, item1, item2, ...] ' – jcorry
Мой код будет вызывать элемент, если он не существует после цикла. Я не могу проверить свою локальную машину. Но было бы полезно, если вы напечатаете результат и сообщите, что не так. –