کوئری با if در فریم ورک لاراول

کوئری با if در فریم ورک لاراول

دسته : فریم ورک لاراول

کد محصول : 99

قیمت : رایگان

کوئری های منعطف همراه با if در فریم ورک لاراول گاهی اوقات در پروژه های خود احتیاج داشته اید که کوئری های ساده را تبدیل به کوئری های پیچیده کنید بهتره مسئله رو کاملتر مطرح کنیم شاید کوئری منعطف نسبت به ورودی ها که هر بار امکان دارد تغییر کند در پروژه شما نیاز باشد یک مثال برای گزارش گیری از یک جدول می تواند کاملتر موضوع را روشن کند گاهی اوقات مدیر پروژه یک گزارش کامل از جداول می خواهد که ورودی ها را خودش هر بار بتواند تغییر دهد و براساس ستون های انتخابی از جدول گزارش گیری را انجام دهد. در ادامه یک مثال از کوئری منطف نسبت به ورودی ها همراه با if در


کوئری های منعطف همراه با if در فریم ورک لاراول

گاهی اوقات در پروژه های خود احتیاج داشته اید که کوئری های ساده را تبدیل به کوئری های پیچیده کنید بهتره مسئله رو کاملتر مطرح کنیم شاید کوئری منعطف نسبت به ورودی ها که هر بار امکان دارد تغییر کند در پروژه شما نیاز باشد یک مثال برای گزارش گیری از یک جدول می تواند کاملتر موضوع را روشن کند گاهی اوقات مدیر پروژه یک گزارش کامل از جداول می خواهد که ورودی ها را خودش هر بار بتواند تغییر دهد و براساس ستون های انتخابی از جدول گزارش گیری را انجام دهد. در ادامه یک مثال از  کوئری منطف نسبت به ورودی ها همراه با if در فریم ورک محبوب لاراول را بررسی و آموزش خواهیم داد.

افزودن if به کوئری در لاراول

لاراول این قابلیت را دارد که کوئری خود را به چند قسمت تبدیل کنید و در آخر تمام قسمت های تقسیم شده را واحد کرده و از دیتابیس واکشی اطلاعات را انجام دهید افزودن if به کوئری در لاراول یک ویژگی جالب می باشد که مثال خود را با تعیین فیلد های جدول و کوئری بر روی جدول مورد نظر پیش خواهیم برد.

فیلدهای جدول برای اعمال if در لاراول

بر فرض یک جدول به نام product داریم که محصولات ما را نگه داری می کند با فیلدهای ذیل که قرار است شرط if بر روی کوئری آن در لاراول اجرا شود:

  • id (شناسه محصول)
  • title (نام محصول)
  • entity (موجودی کمترین مقدار 0)
  • color (رنگ محصول : قرمز، آبی ، زرد ، بنفش)

خوب مثال خود را با یک کوئری ساده، واکشی محصول با شناسه شروع می کنیم که شناسه برای متد مورد نظر ما ارسال می شود

public function show($id)
{
	$query=Product::findOrFail($id);
	return $query;
}

 

کوئری پیچیده در لاراول

برای یک کوئری پیچیده در لاراول نیاز است که ما از ورودی های متد خود اطلاعی نداشته باشیم و در صورت مقدار داشتن یک ورودی در کوئری اعمال شود مثلا ما می خواهیم تمام محصولات با رنگ قرمز و موجودی برابر تعداد مشخص شده توسط کاربر باشد را از دیتابیس خود واکشی کنیم توجه کنید که قرار است این دو مقدار را کلاینت مقدار دهی کند:


public function show(Request $request)
{
	$query=Product::query();
	if(isset($request->color))
	{
		$query->where('color',$request->color);
	}
	if(isset($request->entity))
	{
		$query->where('entity',$request->entity);
	}
	$query=$query->get();
	return $query;
}

این مثال برای کوئری هایی که ورودی خود را به صورت ajax از کاربر برای جستجو در محصولات وارد می کنند بسیار کاربردی می باشد و جدا کردن کوئری به قسمت های کوچکتر به شما کمک می کند تا داده های مقداردهی شده در شروط شرکت کنند و نتیجه براساس آنها در واکشی از دیتابیس در فریم ورک لاراول بازگشت داده شود اگر بخواهیم کوئری بالا را برای تمام ستون های جدول کامل کنیم به صورت ذیل خواهد بود:

public function show(Request $request)
{
	$query=Product::query();
	if(isset($request->color))
	{
		$query->where('color',$request->color);
	}
	if(isset($request->entity))
	{
		$query->where('entity',$request->entity);
	}
	if(isset($request->title))
	{
		$query->where('title','Like','%'. $request->title .'%')
	}
	$query=$query->get();
	return $query;
}

 

  • کوئری با if در فریم ورک لاراول را با دوستان خود به اشتراک بگذارید.
  • سوالات خود را در بخش پرسش و پاسخ این مطلب ثبت کنید.
  • مطالب خود را در جاب تیم به اسم خود ثبت کنید ارسال مطلب


ثبت سوال/پاسخ
بهزاد میرزازاده
در مورد کاربر : همیشه سخت تلاش کردم و به موفقیت های خیلی زیادی رسیدم اما دلیل نشد که متوقف بشم من برای هر روز برنامه دارم و به امید موفقیت های بزرگتر قدم بر میدارم همیشه سخت ترین مسئله ها، ساده ترین راه حل رو دارند پس بهانه جویی نباید روش کار ما برنامه نویسان باشه!!! ما می توانیم آینده را تعیین کنیم
اشتراک گذاری این مطلب
{