Search code examples
laravel-9

Trying to take some data from my file called "listing-card" which is is saved in the component folder


@foreach($listings as $listing)
<x-listing-card :listing="$listings" />
@endforeach

the listing card is in the component file

I was expecting to get results from 'listing-card' blade file. but I got this error enter image description here


Solution

  • without a better understanding of your code, the first thing I see is the :listing=$listings

    I would think you would want the individual item $listing from your foreach.

    Secondly, The error states it can not find the class. Be wary of kabob-case vs CamelCase. It has bitten me a few times

    Edit/Update addressing comment below:

    You will have to go and look at your component blade file to check on your exact naming convention you are using. For example you have a class named SiteInfo and in the render section you would have it return something like : return view('components/site-info'); Your file and class being used will be SiteInfo.blade.php and the class in it will be: class SiteInfo extends Component

    example: 
    @foreach($listings as $listing)
    <x-listing-card :listing="$listing" />
    @endforeach
    

    Your Class file would be something similar to:

    class Listing-card extends Component
    {
        public $listing;
     }
    /**
     * Create a new component instance.
     *
     *
     */
     public function __construct($listing)
         {
         $this->listing = $listing;
       
         }
    
        /**
         * Get the view / contents that represent the component.
         *
         * @return \Illuminate\Contracts\View\View|\Closure|string
         */
         public function render()
        {
            return view('components.listing-card');
        }
    

    }

    You might have to enable some logging at key points in your app and pull data. The laravel log /storage/logs/laravel.log is invaluable in find your mistakes.