codeigniterでこのようなことをすることさえ可能ですか?それは一般的に良い習慣と考えられていますか?
2 に答える
2
はい、可能です。
データがポストからのものでない場合は、モデルに送信できます。
$this->load->model('some_model');
$this->some_model->some_function($var);
モデルに送信するデータは何ですか? これは、それが悪い習慣であるかどうかを判断するのに役立ちます。
于 2010-10-25T01:16:25.460 に答える
1
もちろん可能です!Kieran が示したように、パラメーターを受け取るモデル クラスに関数を記述できます。
コントローラーは最初にこれらのパラメーターを解析/検証する必要があることに注意してください。モデルに追加の検証を含めないでください。モデルは、DB への書き込みと DB からの読み取りに厳密に使用する必要があります。
そのため、クエリで保存または使用する実際のデータを含む引数のみを渡すことをお勧めします。
私は通常、さまざまな WHERE ケースに対してさまざまな関数を作成します。例えば:
select($id){}
select_by_name($name){}
...
これにより、モデルが理解しやすくなります。唯一の例外は、結果を制限する場合です。すべてのモデルで、すべてのレコードを選択する機能があり、ページネーションのためにさらに 2 つの変数を渡すオプションがあります。
select_all($start=null,$limit=null){
$qry = "SELECT * FROM ...";
if($start != null) $qry .= " LIMIT ?,?";
return $this->db->query($qry,func_get_args());
}
于 2010-10-25T08:40:04.387 に答える