Laravel 6

ErrorException array_push() expects parameter 1 to be array, null given

Avatar de LouisRobredo
LouisRobredo

Bonjour à tous,

j'obtien cette erreur

ErrorException
array_push() expects parameter 1 to be array, null given

dans mon tableau mon code me semble juste, si vous avez une idée? Merc

<?php

namespace App\Http\Controllers;

use App\Product;
use App\OrderProduct;
use Illuminate\Http\Request;

class HomeController extends Controller
{
    // /**
    //  * Create a new controller instance.
    //  *
    //  * @return void
    //  */
    // public function __construct()
    // {
    //     $this->middleware('auth');
    // }

    /**
     * Show the application dashboard.
     *
     * @return \Illuminate\Contracts\Support\Renderable
     */
    public function home()
    {
        //New
        $news = Product::take(2)->get();
        
        //Latest Products
        $latestProducts = Product::orderBy('id', 'DESC')->take(8)->get();

        //Best Sellers
        $orders = OrderProduct::all()->groupBy('product_id');
        foreach($orders as $order){
            foreach($order as $product){
                array_push($array, $product->product_id);
            }
        }
        dd($array);
        // $bestsellers = Product::where('id', $array)->take(8)->get();
        // dd($bestsellers);

        return view('home', [
            'latestProducts' => $latestProducts,
            'news' => $news
        ]);
    }

    public function orders(){
        $user = auth()->user();
        return view('orders', [
            'orders' => $user->orders
        ]);
    }

    public function contact(){
        return view('contact');
    }

}
Avatar de CinquièmeDimension
CinquièmeDimension

L'erreur parle d'elle-même: tu ne peux pas push dans un null.

T'as pas déclaré $array et tu veux y insérer un truc.

Un $array = array(); avant tes foreach.

Normalement, t'as pas à faire un post pour ça, juste à lire la doc: https://www.php.net/manual/fr/function.array-push.php Si t'es en cours, tu devrais essayer de plancher sur tes erreurs quelques temps avantr d'abandonner et de faire un post. C'est comme ça qu'on apprends

Avatar de LouisRobredo
LouisRobredo

Merde non j'avais bien mon $array = [] Avec les nuits que je passe dessus la fatigue a prit le dessus!! Mais merci

Vous ne pouvez pas répondre à ce sujet.