2012-04-22 6 views
0

内のモデルが、同様:CodeIgniterのモデル内のモデル、そして私が実際に3つの質問を持っているコントローラ

  • は私がPermissionsと呼ばれるモデルを持っています。私は別のモデルが必要です。 Users。ユーザーにとって適切な方法は何ですかPermissionsUsersです。
  • あなたは私が上に意味するものを得る、それは奇妙であるか、それを行うためのもう一つのよりよい方法です。
  • このPermissionsモデルは、(第一の質問と同様に)他のモデルやコントローラでそれを使用する方法は何か、私のアプリケーション全体でグローバルに使用されます
+0

コントローラに両方のモデルを組み込んで、モデルをレイヤー化するのではなく、結果を結合または調整するのはなぜですか? – jsuissa

+0

あなたはコントローラで権限をチェックし、ユーザーが自分のユーザーモデルを使って何かできるかどうかを判断する必要があります。 – guness

答えて

4

一つの方法は、メインのグローバル変数を取得することですその後、CodeIgniterのオブジェクト、およびそのオブジェクトからモデルを読み込むのではなく$この:

class Permissions extends Model 
{ 
    function MyPermissionsFunction() 
    { 
     $ci =& get_instance(); 
     $ci->load->model('users'); 

     $ci->users->MyUserFunction(); 
    } 
} 

また、1つの大きなモデルに一緒にあなたのモデルを組み合わせることで、問題を回避することができます。それらを分離しておく主な理由は、必要なモデルだけをロードすることです。ほとんどの場合、(ユーザとパーミッションのために)ほぼ同時に両方を使用すると、この方法をとる方が良いかもしれません。

+0

ご協力いただきありがとうございます。 – guness

関連する問題