[PROMOÇÃO] Assine com + 30% de desconto ANUAL MENSAL (últimas horas)
Moisés Bumba
Criador Moisés Bumba 09/06/2022
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" => App\Models\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 09/06/2022
 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.
Moisés Bumba
Manager Carlos Ferreira 09/06/2022

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']);

Carlos Ferreira
Criador Moisés Bumba 09/06/2022

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'));
    }
Moisés Bumba
Manager Carlos Ferreira 09/06/2022

É 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']);
}

Carlos Ferreira
Criador Moisés Bumba 09/06/2022

Valeu prof. problema resolvido

Moisés Bumba
Sabe a Solução? Ajude a resolver!

Precisa estar logado para conseguir responder a este ticket!

Clique Aqui Para Entrar!