Nima Etemadi Far
4 سال پیش توسط Nima Etemadi Far مطرح شد
1 پاسخ

استفاده از تابع در blade - لاراول

سلام
فرض کنید من در کنترلر محصولات فروشگاه رو میگیرم

public function index()
    {
        $products = $products->latest()->paginate(20);
        return view('panel.seller.products.all', compact('products'));
    }

و compact داره products رو برمیگردونه و ما میتونیم در blade با foreach اطلاعات محصولات رو ببینیم.
حالا یکی از ستون های جدول محصولات اسمش shop_id هستش و مثلا آیدی 3 رو داره ک این آیدی فروشگاهیه ک این محصول توشه.
من میخوام باز بتونم این ایدی رو با تابعی بفرستم سمت سرور و اطلاعات فروشگاه این محصول رو بگیرم .
البته قبل این داستانا میشه از جوین استفاده کرد ولی مشکلی ک داره اینه ک مثلا میاد همه اطلاعات رو پیش هم میزاره یعنی
مثلا جداول فروشگاه و محصولات هر دوتاشون ستونی به اسم name دارن
product->name
shop->name
رو من بگیرم هردوتا name رو برمیداره و یکیشو میزاره یکیش میره زیر اون یکی چون اینا میان توی یه آرایه دیگه ذخیره میشن مثه این :

$allData = DB::table('products')
            ->join('shops', 'products.shop_id', '=', 'shops.id')
            ->select('products.*', 'shops.name')
            ->get();

دلیلشم اینه که اسم ستون ها در جدول ها یکیه !
ممنون میشم راهنمایی کنید.
.
@ali.bayat
@hosseinshirinegad98
@mohsenbostan
@TimeRunner2359
@mhyeganeh
@SobhanDadkhah
@ali.agk25
@saeedlovelorn2
@h.r.hassani
@coaradsupp


ثبت پرسش جدید
محمدحسن یگانه
تخصص : Full-Stack Web Developer Freel...
@mhyeganeh 4 سال پیش مطرح شد
2

اگر از لاراول و eloquent استفاده میکنید که اصلا نیازی به هیچ کدوم از این کارها نیست. یک رابطه one to many بین محصولات و فروشگاه هاتون ایجاد میکنید و بعد در blade کافیه بگید:

$producr->shop->name

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام