0
私はcodeigniterが新しく、クエリービルダーの機能について心がけようとしています。私は現在、データベース内のレコードを更新するためにユーザーが入力したデータを渡す更新メソッドを持っています。私はそれがどんな種類のジャンクデータであっても成功しているように見えました。変化する必要がある設定や何かがあるかどうかは疑問です。codeigniter query builderはdbをちょうど何かで更新します
私のモデルでは、ユーザーが入力した値をバイパスして、迷惑データを入れていますが、それでも成功しています。それは単に0000-00-00を挿入するだけです。 DBのDOBは日付データ型です。
私はいつもこれから成功の結果を得て、DBを更新するので、技術的に成功しました。私は、ジャンクデータがモデルに送信されるのを防ぐためのコントロールを用意していますが、このように動作していることを知っている暖かいファジーを私に与えません。
コントローラー:
$updateResult = $this->Patients_model->update_patient_profile($this->data['post_data']);
if($updateResult === true)
{
$this->data['patient_profile'] = $this->Patients_model->get_patient_profile($patientId);
$this->data['update_result'] = true;
$this->load->view('index', $this->data);
}
else
{
$this->data['update_result'] = false;
print_r($updateResult);
}
がモデル:
function update_patient_profile($data)
{
$patient_id = $data['patient_id'];
unset($data['patient_id']);
$data['dob'] = 'this is not even a date'; //will store 0000-00-00 in DB.
$this->db->where('patient_id', $patient_id);
$this->db->update($this->patientsTable, $data);
if($this->db->affected_rows()) {
return true;
}
else
{
return $this->db->error();
}
}
私はコントローラーで例外をスローするのと同じようにしています。私はコントロールの中で私のすべての消毒をしています。より一般的な意味で、コントローラーやモデルで行うべきことは何ですか?私は少し読んでいたし、さまざまな意見があったようだ。 – hyphen