rahahost
جمعه 28 آبان 1395, 12:32 عصر
سلام دوستان ، وقت همگی بخیر .
من یه مدل برای کشورها ، استانها دارم به اسم :
Tourlocation
یه مدل هم دارم برای معرفی تورها ( Tour ) اون کشورها و استانها که به رابطشون به این شکله :
رابطه کشور و استانها : یک به چند
رابطه استان به کشور : یک به یک
رابطه کشور به تور : چند به چند
رابطه استان به تور : چند به چند
هر تور میتونه به تنهایی برای یک کشور باشه و همچنین میتونه شامل استانهای زیادی هم بشه ( مثلا تور های ترکیبی که میتونه شامل چندین استان و کشور بشه )
حالا مسئله اینجاست :
وقتی میخوام تورهای یک کشور رو با تورهای استانهای اون کشور بگیرم ، مشکل دارم و در دو مرحله باید انجام بشه :
اینطوری تورهای اون کشور رو میگیرم :
$country->tours
اینطوری هم تورهای استانهای اون کشور رو ببینم :
$country->province->tours
تو این حالت اگر یک تور درون یک کشور و یکی از استانهای اون کشور ثبت شده باشه ، یکبار درون تورهای اون کشور و یکبار درون تورهای استانهای اون کشور نمایش داده میشه
با groupBy هم نتونستم خروجی رو یونیک کنم
$country = \App\Tourlocation::where('slug' , '=' , $slug)->where('type', '=', 1)->with(['tours', 'province.tours' => function($query){
$query->orderBy('tours.id' , 'DESC')->groupBy('id');
} ])->first();
دقیقا قاعده دسته ها ، زیر دسته ها و پست ها رو ایجاد دارم که هر پست میتونه درون یک دسته و زیر دسته های همون دسته قرار بگیره و از طرف دیگه میتونه یک دسته زیر دسته نداشته باشه و پست به تنهایی درون دسته والد قرار بگیره
من یه مدل برای کشورها ، استانها دارم به اسم :
Tourlocation
یه مدل هم دارم برای معرفی تورها ( Tour ) اون کشورها و استانها که به رابطشون به این شکله :
رابطه کشور و استانها : یک به چند
رابطه استان به کشور : یک به یک
رابطه کشور به تور : چند به چند
رابطه استان به تور : چند به چند
هر تور میتونه به تنهایی برای یک کشور باشه و همچنین میتونه شامل استانهای زیادی هم بشه ( مثلا تور های ترکیبی که میتونه شامل چندین استان و کشور بشه )
حالا مسئله اینجاست :
وقتی میخوام تورهای یک کشور رو با تورهای استانهای اون کشور بگیرم ، مشکل دارم و در دو مرحله باید انجام بشه :
اینطوری تورهای اون کشور رو میگیرم :
$country->tours
اینطوری هم تورهای استانهای اون کشور رو ببینم :
$country->province->tours
تو این حالت اگر یک تور درون یک کشور و یکی از استانهای اون کشور ثبت شده باشه ، یکبار درون تورهای اون کشور و یکبار درون تورهای استانهای اون کشور نمایش داده میشه
با groupBy هم نتونستم خروجی رو یونیک کنم
$country = \App\Tourlocation::where('slug' , '=' , $slug)->where('type', '=', 1)->with(['tours', 'province.tours' => function($query){
$query->orderBy('tours.id' , 'DESC')->groupBy('id');
} ])->first();
دقیقا قاعده دسته ها ، زیر دسته ها و پست ها رو ایجاد دارم که هر پست میتونه درون یک دسته و زیر دسته های همون دسته قرار بگیره و از طرف دیگه میتونه یک دسته زیر دسته نداشته باشه و پست به تنهایی درون دسته والد قرار بگیره