Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 31.08.2020 08:05:14

Передача данных из Request в представление

Добрый день. Прошу помощи в таком вопросе. Может кому то вопрос и покажется глупым , так что прошу сильно не пинать .
Есть форма заказа(корзина покупателя) , при нажатии кнопки данные отправляются на сервер и открывается форма оформления заказа , где клиент заносит свои данные , адрес и так далее.
  Вот собственно вопрос.
При нажатии кнопки данные отправляются на сервер . Можно получить данные из Request занести в таблицу , затем сделать выборку из таблицы в переменную и передать в следующую форму .
  Я пытался немного сократить , и не заносить данные в таблицу , а переменной присвоить данные из Request и передать в представление . Но что то у меня не прокатывает. Прошу подсказки , кто и как обрабатывает данные на данном этапе , спасибо .
Данные передаю таким образом. Пробовал разные варианты , не прокатывают. Пользовался поиском ничего на нашел.Спасибо.

$shopcart=$request->all();
return view('shopcarts.show',['shopcart'=>$shopcart]);

Не в сети

#2 31.08.2020 09:10:22

Re: Передача данных из Request в представление

Я думаю ты ошибаешся насчёт "не прокатывает". Просто формат данных не учитываешь, скорее всего. Типа: размерность массива не та. Ну или в имени опечатка.

dd(), DebugBar и xdebug тебе в помощь.

Изменено artoodetoo (31.08.2020 09:11:37)


There are two hard things in computer science: cache invalidation, naming things, and off-by-one errors.

Не в сети

#3 31.08.2020 09:27:47

Re: Передача данных из Request в представление

Просто формат данных не учитываешь, скорее всего.

  вот это я и подозреваю , что я что то делаю не так. Поэтому и прошу помощи .
Например dump данные отображает нормально .

$shopcart=$request->all();
dump($shopcart);
//return view('shopcarts.show',['shopcart'=>$shopcart]);

А если пробегаться по массиву , то получаю ошибку.

$shopcart=$request->all();
foreach ($shopcart as $cart){
echo $cart->id ;
}

ErrorException
Trying to get property 'id' of non-object

Не в сети

#4 31.08.2020 09:44:38

Re: Передача данных из Request в представление

Вам же опять написано, Trying to get property 'id' of non-object)
Задампите $cart в foreach и поймете в чем проблема

Не в сети

#5 31.08.2020 10:01:57

Re: Передача данных из Request в представление

Задампите $cart в foreach и поймете в чем проблема

"PUT"
array:1 [▼
  0 => "411"
]
"9mLYT7PGnPJF0mzIgIpn9TiNh3PkAxS2Vn934hI1"
array:1 [▼
  0 => "Hikvision DS-2CD2T43G0-I8 F8"
]
array:1 [▼
  0 => "1"
]
array:1 [▼
  0 => "133.79"
]
"133.79"
"28.10"
"161.89"

Вроде бы понял , спасибо . dump вставлял не в том месте. smile
Тогда не подскажете как извлечь ? Если нет , будем искать. smile
Но все равно спасибо.

Не в сети

#6 31.08.2020 10:07:35

Re: Передача данных из Request в представление

непонятно в чем вопрос, что нужно получить. как видно id не передается

Не в сети

#7 31.08.2020 14:37:00

Re: Передача данных из Request в представление

непонятно в чем вопрос, что нужно получить. как видно id не передается

  Суть вопроса возникла из за того , что не додумался dump засунуть в цикл foreach , а я его вставлял перед циклом , а там картина немного другая. Выкладываю два dump , один перед циклом , а другой в цикле.
Вот как то так . smile

<< dump перед циклом >>

array:9 [▼
  "_method" => "PUT"
  "id" => array:1 [▼
    0 => "411"
  ]
  "_token" => "WI197aLVj8OwVEi6wxDxpFVgCrSg6e0djJn3jY7e"
  "product_name" => array:1 [▼
    0 => "Hikvision DS-2CD2T43G0-I8 F8"
  ]
  "quantity" => array:1 [▼
    0 => "1"
  ]
  "price" => array:1 [▼
    0 => "133.79"
  ]
  "total" => "133.79"
  "tax" => "28.10"
  "totally" => "161.89"
]

<< dump в цикле foreach >>

"PUT"
array:1 [▼
  0 => "411"
]
"WI197aLVj8OwVEi6wxDxpFVgCrSg6e0djJn3jY7e"
array:1 [▼
  0 => "Hikvision DS-2CD2T43G0-I8 F8"
]
array:1 [▼
  0 => "1"
]
array:1 [▼
  0 => "133.79"
]
"133.79"
"28.10"
"161.89"

Не в сети

#8 31.08.2020 15:59:55

Re: Передача данных из Request в представление

Сделал через цикл For ,вместо Foreach . Спасибо всем откликнувшемся. smile

<< Controller >>
return view('shopcarts.store',compact('form'),['shopcart'=>$request]);

<<  View >>
@if(count($shopcart->id) > 0)
       
@for($i = 0; $i < count($shopcart->id);$i++)
<span>{{$shopcart->id[$i]}}</span> - <span>{{$shopcart->product_name[$i]}}</span><br>
@endfor

@endif

Не в сети

Подвал раздела