2016-12-10 8 views
0

私はCodeIgniter 3とCommunity Auth with Authenticationを使用しています。私はその役割に基づいてデータベースの結果を制限したい。Codeigniter 3はモデルの認証情報を確認しますか?

get_finantial_report(いくつかのパラメータ、USER_LEVEL、USER_ID) と私は、コントローラ内USER_LEVELとUSER_IDを得る:

$this->auth_role 
$this->auth_user_id 

はそれらを削除する方が良いだろう は今モデルでは機能は、このようなものですパラメータ(user_level、user_id)を関数から取得し、それらをコントローラからモデルに渡すのではなくファンクションの内部に入れますか?

答えて

0

コントローラ内の変数をキャッチし、それらの変数の検証を行い、db stuffのモデルに送信することができます。 例
:このため
は今、私の心の中で2つのロジックがあります:あなたはこのユーザーかどうかのために結果を持って帰りたいと思うかどうかuser_levelのベースに
1-コントローラで決めます。
例えば

if($user_level == 'something') 
{ 
    $result = $this->model_name->get_finantial_report(some parameters, user_id); 
} 

2-もしくは、あなたが結果かどうかを返すようにしたいかどうか役割のチェックを行うことがモデルにuser_roleを送っていました。

function model_function(some parameters, user_level, user_id) 
{ 
    if($user_level == 'something') 
    { 
     return $result = $this->db->query("// anything"); 
    } 
} 
関連する問題