PDA

View Full Version : تعریف CRUD به ازای هر تیبل



shahriyar3
یک شنبه 20 مرداد 1392, 18:12 عصر
سلام

این درسته که به ازای هر تیبل در دیتابیس یک CRUD ایجاد بکنیم؟
همه تیبل ها همه اکشن ها رو دارن و ما بهشون نیاز داریم ولی شاید چیزی که بیشتر بهش نیاز داشته باشیم اینه که بین تیبل ها join داشته باشیم.
بنابراین شاید درست نباشه برای تک تک تیبل ها یک CRUD ایجاد بشه!
لطفا یکی اینو توضیح بده

Pouyan2010
یک شنبه 27 مرداد 1392, 13:19 عصر
سلام دوست عزیز
CRUD یه چیزی شبیه Linq در .net هستش، در دات نت هم برای اینکه بتونیم به فیلدهای جداول بانک داده دسترسی داشته باشیم و علم "شی گرایی" رو هم در آنجا داشته باشیم و جداول رو در غالب شی و فیلد ها رو در قالب خصوصیات ببینیم، از linq استفاده میکردیم، در yii هم برای این امر از CActiveRecord ها استفاده می کنیم، که اگر از ابزار Gii برای ساخت CRUD استفاده کنیم خود Gii رابطه ها رو تشخیص میده و موقع generate کلاس ها این قوانین رو در قالب تابع relations در نظر میگیره به این خطوطی که gii تولید کرده توجه کن:

public function relations()
{
// NOTE: you may need to adjust the relation name and the related
// class name for the relations automatically generated below.
return array(
'coCollege' => array(self::BELONGS_TO, 'College', 'CoCollege'),
'classrooms' => array(self::HAS_MANY, 'Classroom', 'CoBuilding'),
);
}
این جدول با جداول Classroom و College رابطه ی یک به چندی و ... دارد.
Join یا هر چیز دیگه محدودیت در کار ایجاد نمیکنه.
من(نظر شخصی) برای کارهایی که زیاد به Join و ... ختم میشه از Store Procedure استفاده می کنم و تراکنش رو به SP میدم تا به برنامه نویسی PHP.