array
[Finalizado Pelo Aluno]
Criador
Moisés Bumba
Olá prof. estou a trabalhar com Session quero recuparar o user_id da session mas recebo recebo este erro:
Array callback must have exactly two elements
o erro esta nesta linha como recupero este user_id.
###$userId = $course(['user_id']);
$cart = Session::has('cart') ? Session::get('cart') : new Cart;
$course = $cart->getItems();
dd($course);
$userId = $course(['user_id']);
$user = User::where('id', $userId)->with('bank')->get()->first();
^ array:1 [▼ 26 => array:2 [▼ "item" => { Course#1570 ▼ #attributes: array:19 [▶] #original: array:19 [▼ "id" => 26 "category_id" => 4 "user_id" => 17 "name" => "Baixando e Instalando Android Studio - Windows" "short_name" => "Baixando e Instalando" "url" => "baixando-e-instalando" "spotlight" => null "description" => null "image" => null "file" => null "type" => "CURSO" "code" => "47F84DD" "total_hours" => "11:00:00" "lesson_amount" => null "published" => 1 "free" => 0 "price" => 0.0 "created_at" => "2022-05-23 19:00:43" "updated_at" => "2022-05-23 19:00:43" ] } "qtd" => 1 ]
Criador
Moisés Bumba
public function checkout()
{
$title = 'Checkout Carrinho';
$cart = Session::has('cart') ? Session::get('cart') : new Cart;
$total = $cart->total();
$course = $cart->getItems();
dd($course );
$userId = $course(['user_id']);
$user = User::where('id', $userId)->with('bank')->get()->first();
return view('store.check.checkout', compact('course', 'title', 'total', 'date'));
}
minha função completa.
Manager
Carlos Ferreira
Olá, Moisés!
Tudo bem?
Observe neste debug que você fez:
dd($course);
Course é um array, com a key "item" e "qtd"
Para conseguir pegar por exemplo o user_id vai precisar passar pela key:
dd($course['item']['user_id']);
Criador
Moisés Bumba
recebo este erro:
Undefined array key "item"
public function checkout()
{
$title = 'Checkout Carrinho';
$cart = Session::has('cart') ? Session::get('cart') : new Cart;
$total = $cart->total();
$course = $cart->getItems();
dd($course['item']['user_id']);
$date = date("d/m/Y");
return view('store.check.checkout', compact('course', 'title', 'total', 'date'));
}
Manager
Carlos Ferreira
É porque é um array com vários items, precisa usar um loop para ter acesso:
$courses = $cart->getItems();
foreach ($courses as $course) {
dd($course['item']['user_id']);
}
Criador
Moisés Bumba
Valeu prof. problema resolvido
Precisa estar logado para conseguir responder a este ticket!
Clique Aqui Para Entrar!