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

}
Posté il y a 2 mois
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

Posté il y a 2 mois
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

Posté il y a 2 mois

Vous ne pouvez pas répondre à ce sujet.