سلام
فرض کنید من در کنترلر محصولات فروشگاه رو میگیرم
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
اگر از لاراول و eloquent استفاده میکنید که اصلا نیازی به هیچ کدوم از این کارها نیست. یک رابطه one to many بین محصولات و فروشگاه هاتون ایجاد میکنید و بعد در blade کافیه بگید:
$producr->shop->name
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟