तो मैं देखा है के लिए एक एकल crud मॉडल का उपयोग ususally एक मॉडल डेटाबेस में एक मेज के प्रतिनिधित्व है जैसे उपयोगकर्ताओं तालिका के लिए यह कुछ प्रकार है:प्रत्येक नियंत्रक के लिए बजाय अलग-अलग मॉडल के सभी नियंत्रकों
class user_model {
public $id ;
public $username ;
public $password ;
public $email ;
public function save(){
$db->query(" insert into `users` (username , email , password) values ('$this->username' , '$this->email' , '$this->password') ");
}
public function delete(){
$db->query(" delete from users where id = $this->id ");
}
}
लेकिन इस प्रक्रिया बहुत धीमी है और क्या मॉडल के सबसे अधिक है बुनियादी CRUD आपरेशन है ... तो मैं लगभग सभी मेरी नियंत्रकों की तरह के लिए एक एकल crud मॉडल का उपयोग करें: ध्यान दें कि यह एक बहुत ही सरलीकृत संस्करण है
class crud_model {
public function save($tbl , $data){
$db->query(" insert into $tbl (".explode(',' , array_keys($data)).") values (".explode(',' , $data).") ");
}
public function delete( $tbl , $data){
$db->query(" delete from $tbl where $data['column'] = $data['val'] ");
}
}
दलीलों मेरा मॉडल और मूल रूप से इसकी तरह कुछ भी नहीं मूल कोड (मूल कोड में सक्रिय रिकॉर्ड का उपयोग कर रहा हूं और यह जटिल परिदृश्यों को संभाल सकता है) इसलिए वाक्यविन्यास और तकनीकी त्रुटियों को अनदेखा करें
इसलिए मैं जानना चाहता हूं कि इस दृष्टिकोण में कोई समस्या है या नहीं? क्या मैं कुछ भूल रहा हूँ ?
क्या मॉडल के बहुत सारे होने की बात जब आप एक CRUD मॉडल के साथ द्वारा प्राप्त कर सकते हैं .... यह सिर्फ समय
इस तथ्य के बावजूद कि आपको सुरक्षा लाभ प्राप्त करने के लिए तैयार बयानों का उपयोग करना चाहिए, आपके कोड में कुछ भी गलत नहीं है। –
@ हेनरिक बार्सेलोस वास्तव में क्वेरी के लिए सक्रिय रिकॉर्ड का उपयोग कर रहा हूं, मैं बस कोड को जितना संभव हो सके रखना चाहता हूं – max
एक वर्ग का उपयोग करने के बजाय, आप 'सेव' और 'डिलीट' लिखने के लिए एक सामान्य बेस क्लास का उत्तराधिकारी बना सकते हैं। केवल एक बार तरीकों। – user3409662