🎉 سال نو، مهارت نو، مشاوره رایگان نقشه راه برنامه نویسی (آفر ویژه ثبت نام قبل از افزایش قیمت 🔥)
۰ ثانیه
۰ دقیقه
۰ ساعت
۱ هاشم
نمایش ویدئو‌های مرتبط به جز خود ویدئو انتخاب شده - تمرین جلسه
جامعه لاراول ایجاد شده در ۲۹ دی ۱۴۰۰

سلام وقت همگی بخیر و شادی

ما باید در جایی که به ویدئو فعلی دسترسی داریم از متد except استفاده کنیم و همه ویدئو هارو به جز آی دی مربوط به ویدئو فعلی دریافت کنیم .

پس داخل مدل Video :

public function relatedVideos(int $count=6)
{
    return $this->category->getRandomVideos($count)->except($this->id);
}

که در این جا مقدار this->id اشاره میکنه به ویدئو فعلی که انتخاب شده .

راه دیگه هم داره میشه از whereNotIn استفاده کرد ، میشه where استفاده کرد و مخالف آی دی رو گرفت ولی این چیزی که نوشتم به نظرم بهترین روش بود . حالا اگر اشتباهه یا بهتر هم میشد بفرمایید که استفاده ببریم .

با تشکر

سلام وقت بخیر

استاد گفتن کار گرفتن اطلاعات به عهده مدل دسته بندی هست.

پس بهتر نیست این کار در همون متد انجام بدیم و مقدار id به عنوان پارامتر بفرستیم؟

یعنی در فایل Video.php

 public function relatedVideos($count = 6)
    {
        return $this->category->getRandomVideos($count, $this->id);
    }

و در فایل Category.php

    public function getRandomVideos(int $count = 6, int $id = null)
    {
        return $this->videos()->inRandomOrder()->get()->take($count)->except($id);
    }
amirmrt ۱۱ شهریور ۱۴۰۱، ۱۸:۳۶