PDA

View Full Version : حرفه ای: مشکل در واکشی و نمایش در mvc



charcharkh
چهارشنبه 11 فروردین 1395, 10:24 صبح
سلام

بنده تازه mvc رو یاد گرفتم به یه مشکل خوردم . یه سایت قبلا داشتم و الان دارم با mvc بازنویسیش میکنم . ببنید در صفحه اصلی سایت تعدادی اتومبیل وجود داره که از دیتابیس خونده میشه و میاد و برای هر اتومبیل که car_id خودش رو گرفته تعدادی محصول بر طبق car_id در جدول محصولات واکشی میکنه تا اینجا دوتا حلقه باید بزنم

سوالم اینه که چطور دو تا loop تو در تو بزنم توی mvc وقتی controller ورودی رو داد به model دیگه ارتباط با کنترلر نداره تا اینکه کارش تموم بشه و اطلاعات رو برگردونه و حالا کنترلر باید داده ها رو بده به view ولی یک کار جا میمونه و اون اینکه طبق car_id باید محصولاتش رو واکشی کنه . و اگر بخوام برطبق اطلاعات اولی بدم توی view و توی view بخواهم model رو استفاده کنم قوانین mvc رو نقض کردم.

ایتدا باید اتومبیلها رو واکشی کنم سپس مطابق car_id هر اتومبیل محصولات مربوطش رو واکشی بشه و بعد میره سر اتومبیل بعدی دوباره محصولاتش و الی آخر...
نمیخوام از join استفاده کنم

لطفا راهنمایی بفرمایید.

charcharkh
پنج شنبه 12 فروردین 1395, 05:36 صبح
بیش از 40 بار دیده شده ولی دریغ از یه راهنمایی دوستان لطفا کم لطفی نکنند.:لبخندساده:

مهرداد سیف زاده
پنج شنبه 12 فروردین 1395, 05:55 صبح
این که در view شما نیاز به model پیدا کردید، چندان قوانین mvc رو زیر پا نذاشتید. در واقع تمام فریم ورکهای جدید مثل yii که از ساختار mvc جدید استفاده میکنن این امکان رو میدن که شما در هر کجای برنامه کلاس مدل رو فراخوانی کنید
بعد هم join‌ جایی به سیستم فشار میاد که قراره حاصل هر بار جستجو و یا گرید نشون داده بشه که حجم داده بالا هست و join زدنهای بدون Index و ساختار بندی درست باعث فشار به سرور میشه
ولی در نشون دادن یک مورد که حالا یه join هم با چند تا تیبل داره، مشکلی ایجاد نمیکنه.
همچنین join اگر جداول شما خوب ساختار بندی شده باشه(index صحیح، select فیلدهای مورد نیاز، کم کردن تعداد تیبل‌های join و ..) چندان به سرور فشار نمیاره و مثل کوئری ساده خواهد بود

charcharkh
پنج شنبه 12 فروردین 1395, 07:19 صبح
ممنونم زحمت کشیدید:لبخندساده: