1

codeigniterでこのようなことをすることさえ可能ですか?それは一般的に良い習慣と考えられていますか?

4

2 に答える 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 に答える