🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۶ محمد رضا اقدام
ارور انتقال اطلاعات از component
جامعه لاراول ایجاد شده در ۰۴ بهمن ۱۴۰۰

سلام وقتتون بخیر

یک ارور هست که هر کاری میکنم برطرف نمیشه ممنون میشم راهنماییم کنید

متن ارور:

Undefined variable: video (View: C:\\xampp1\\htdocs\\new-laravel\\resources\\views\\videos\\show.blade.php)

قسمتی که ارور گرفته میشه:

<x-relatived-videos :video="$video"/>

کامپوننت بلید ساخته شده:


<div class="col-md-4">
<div id="related-posts">
    @foreach ($videos as $video)
        <div class="related-video-item">
            <div class="thumb">
                <small class="time">{{ $video->length }}small>
                <a href="{{ route('videos.show', $video->id) }}"><img src="{{ $video->thumbnail }}" alt="">a>
            div>
            <a href="{{ route('videos.show', $video->id) }}" class="title">{{ $video->name }}a>
            <a class="channel-name" href="#">داود طاهری<span>
                    <i class="fa fa-check-circle">i>span>a>
        div>
    @endforeach
div>
div>

کامپوننت درون view:


namespace App\\View\\Components;
use App\\Models\\Video;
use Illuminate\\View\\Component;
class RelativedVideos extends Component
{
    public $videos;
    /**
     * Create a new component instance.
     *
     * @return void
     */
    public function __construct(Video $video)
    {
        $this->videos = $video->relatedVideos(10);
    }
    /**
     * Get the view / contents that represent the component.
     *
     * @return \\Illuminate\\Contracts\\View\\View|\\Closure|string
     */
    public function render()
    {
        return view('components.relatived-videos');
    }
}

ممنون میشم که راهنمایی کنید این ارور از کجا میاد

واقعا تشکر شدید میکنم از مجموعه سون لرن که بعد از گذشت یک ماه به سوالات پرسیده شده جواب ندادند و ما را در مشکلاتمون تنها گذاشتند

محمد رضا اقدام ۰۶ اسفند ۱۴۰۰، ۰۸:۴۱

سلام دوست عزیز

من پوزش میخوام بابت تاخیر در پاسخگویی

پروژتون رو پیوست کنید تا براتون بررسی کنم

محمد گازری ۱۳ اسفند ۱۴۰۰، ۱۳:۱۲

https://github.com/MohammadRezaEghdam/ShareVideo.git

محمد رضا اقدام ۱۴ اسفند ۱۴۰۰، ۱۴:۳۵

سلام مجدد

پروژتون هیچ اروری نداره و در صفحه ویدیو، ویدیوهای مشابه را به درستی نمایش میدهد.

4544-Screenshot 2022-03-05 183333.png

محمد گازری ۱۴ اسفند ۱۴۰۰، ۱۴:۵۷

بله در حال حاضر هیچ اروری نمایش نمیده ولی در قسمت show.blade

<x-relatived-videos />

اگر توجه کنید هیچ مقداری وارد نکردم و این برای من سوال هست که چرا زمانی که مثل استاد کد نویسی انجام میدم دچار مشکل میشم

<x-relatived-videos :video="$video"/>
محمد رضا اقدام ۱۴ اسفند ۱۴۰۰، ۱۸:۱۳

سلام مجدد

دلیل اینکه خط زیر رو مینویسید خطا میگیرید اینه که اصلا شما متغیری با نام video ندارید

<x-relatived-videos :video="$video"/>

شما اومدید در videoController در متد show منغیر videos رو به view پاس دادید نه video!

public function show(Request $request,Video $videos){
    return view('videos.show',compact('videos'));
}

حالا اگر به این شکل بنویسید خطا ندارید

<x-relatived-videos :videos="$videos" />


بهترین پاسخ
محمد گازری ۱۴ اسفند ۱۴۰۰، ۲۰:۱۱