🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱۲ Mahdi
Call to a member function getRandomVideos() on null
جامعه لاراول ایجاد شده در ۰۲ دی ۱۴۰۱

سلام

من موازات با پروژه دوره ی پروژه جدید ایجاد کردم برا تمرین

حالا در همین مرحله به این مشکل برخوردم

به component یی ک برای related video ایجاد کردم در صفحه show مقدار دادم

            <x-related-video :video="$video">x-related-video>

از طرفی روابط بین مدل‌ها رو هم پیداسازی کردم

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

ولی بااین حال برای related‌ها موقع صدا زدن relatedVideo بر روی مدل video به ارور بالا بر میخورم بخاطر همین این بار

از view related اومدم مستقیما از مدل category به شکل زیر استفاده کردم

public function __construct(Category $Category)
    {
        return $this->videos = $Category->videos;
    }

که نتیجش در صفحه show خالی بودن related هاس

اینم لینک سورس کدم برای بررسی

https://uupload.ir/view/video-share3_iejg.rar/

سلا مهدی عزیز

ارور مورد نظر چیه؟

یکبار واضح‌تر توضیح بده

احمدرضا فاطمی کیا ۰۲ دی ۱۴۰۱، ۱۰:۵۴

این error مدنظرمه

Call to a member function getRandomVideos() on null

مثل استاد ی component برای related video هام ایجاد کردم

حالا وقتی مقدار دهیش میکنم به null میخورم

بالا کامل‌تر توضیح دادم سورس کدام رو گذاشتم براتون

همون کارایی ک استاد در ویدیو انجام دادن رو انجام دادم منتهی نتیجش ارور میشه

با اون یکی پروژمم ک چکش کردم کدهام کاملا درسته ولی برای اون پروژه به خطا نمیخورم ولی برای این به خطا میخورم

Mahdi ۰۲ دی ۱۴۰۱، ۱۱:۰۷

بررسی کردم سورستونو با کد زیر بدرستی کار میکنه مگر اینکه دسته بندی ویدیو از جدول دیتابیس حذف شده باشه و category_id برابر NULL شده باشه که باعث خطا میشه چون کتگوری رو پیدا نمیکنه تا به ویدیو برسه

کامپوننت RelatedVideo

public function __construct(Video $video)
    {
        $this->videos = $video->RelatedVideo(3);
    }


احمدرضا فاطمی کیا ۰۲ دی ۱۴۰۱، ۱۲:۰۴

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

anydesk بیا رو سیستمم؟

Mahdi ۰۲ دی ۱۴۰۱، ۱۲:۱۳

دستور پایینو قرار دادید یبار کش رو هم پاک کنید. (فایل‌های داخل storage -> framework -> views)

public function __construct(Video $video)
{
    $this->videos = $video->RelatedVideo(3);
}

اگر نشد، دیتابیستونو قرار بدید تا روی داده ی خودتون تست کنم چون روی دیتابیس من کدها بدرستی کار میکنن.

احمدرضا فاطمی کیا ۰۲ دی ۱۴۰۱، ۱۲:۲۲

دیتابیسم

https://uupload.ir/view/video_share3_4aef.sql/

خدمتت

Mahdi ۰۲ دی ۱۴۰۱، ۱۳:۱۳

بدون مشکل اجرا شد

7528-IMG_20221223_171908_495.jpgبعد از اعمال تفییرات داخل کدهای کامپوننت کش رو حذف کنید

php artisan view:clear


بهترین پاسخ
احمدرضا فاطمی کیا ۰۲ دی ۱۴۰۱، ۱۳:۵۰

ممنون احمدجان

فقط ی سوال چرا کش‌ها با دستور

php artisan cache:clear

پاک نشدن؟

Mahdi ۰۲ دی ۱۴۰۱، ۱۳:۵۵

این دستور شما برای پاک کردن کش‌های موجود در storage/cache هست و برای پاکسازی کش ویوها و کامپوننت‌ها نیست.


احمدرضا فاطمی کیا ۰۲ دی ۱۴۰۱، ۱۴:۰۹

 برای پاکسازی کش ویوها و کامپوننت ها?

php artisan view:clear 
Mahdi ۰۲ دی ۱۴۰۱، ۱۵:۳۲

بله

احمدرضا فاطمی کیا ۰۲ دی ۱۴۰۱، ۱۷:۵۸

تشکر

Mahdi ۰۲ دی ۱۴۰۱، ۱۷:۵۹