View Full Version : جستجو درد دو جدول از طریق یک فرم
alirezara
سه شنبه 21 بهمن 1393, 22:14 عصر
با سلام و خسته نباشید خدکت دوستان عزیزم.
دوستان! بنده یک فرم جستجو دارم قصد دارم توسط این فرم از دو جدول در دیتابیس ( دو مدل ) عمل جستجو را انجام دهم و نتیجه را توسط یک gridview نمایش دهم. اگر با یک مدل روبرو بودم مشکلی نداشتم. اما حالا که با دو مدل روبرو هستم روش کار رو نمیدانم. توی اینترنت هم جستجو کردم اما نتیجه ای نیافتم. از دوستانم خواهشمندم بنده را راهنمایی کنید.
با تشکر از همه ی دوستان!
MMSHFE
چهارشنبه 22 بهمن 1393, 09:16 صبح
دو جدول شما ساختار یکسانی دارن که میخواین با یه Gridview نمایش بدین؟ اونوقت موقع edit باید کدوم رکورد رو توی کدوم جدول ویرایش کنه؟ موقع حذف چطور؟ کلاً GridView رو بگذاریم کنار، با همون Table معمولی هم اینکار منطقی نیست.
alirezara
چهارشنبه 22 بهمن 1393, 09:57 صبح
سلام استاد خسته نباشید.
استاد من یه جدول دارم که مشخصات کاربران توی اون هست اسم این جدولم users هست و جدول دیگه ای دارم که به rbac مربوط میشه یعنی جدول auth_assignment که مشخص می کنه هر کاربری چه نقشی داره حالا من یه فرم برای جستجوی کاربران ایجاد کردم که یکی از فیلدهای اون جستجو بر اساس نقش هست. مثلا می خوام کاربرانی که نقش مدیر رو دارن رو جستجو کنم و به همراه مشخصاتی که در جدول users دارن توی یک gridview نمایش بدم یا توی یک table. البته اگه بشه میخوام با gridview این کار رو کنم.
alirezara
چهارشنبه 22 بهمن 1393, 10:16 صبح
استاد من فایل های مربوطه را ضمیمه کردم.
MMSHFE
چهارشنبه 22 بهمن 1393, 11:27 صبح
http://stackoverflow.com/questions/14756833/yii-get-users-based-on-role
البته جواب کاملی نیست چون ممکنه توی RBAC یکی از نقشها زیرمجموعه یکی دیگه باشه و اونوقت با اینکه checkAccess درست جواب میده ولی توی کوئری که گذاشته شده نمیاد چون اون کوئری مستقیماً داره چک میکنه. راهی که به ذهنم میرسه اینه:
// list all users with 'userManagement' role
if($users = Users::model()->findAll()) {
foreach($users as $id => $user) {
if(!$user->checkAccess('userManagement')) {
unset($users[$id]);
}
}
$users = array_values($users); // to reset indices
}
vBulletin® v4.2.5, Copyright ©2000-1404, Jelsoft Enterprises Ltd.