私はCIのAuth Tankライブラリを使用して特定のユーザのレコードを問い合わせています。コンストラクタからのCodeigniter変数は定義されていません
変数$user_id = tank_auth->get_user_id();
は、セッションからユーザーIDを取得します。私はレコードを引っ張りたい。user_id = $user_id
。
私が理解したところでは、コンストラクタはクラスが開始されるたびに変数をロードできます。グローバル変数のような並べ替え。モデルコンストラクタに$user_id
を設定して、モデルクラス内の複数の関数に使用できるようにしました。
class My_model extends Model {
function My_model()
{
parent::Model();
$user_id = $this->tank_auth->get_user_id();
}
function posts_read() //gets db records for the logged in user
{
$this->db->where('user_id', $user_id);
$query = $this->db->get('posts');
return $query->result();
}
}
次に、コントローラに配列を作成し、foreachループがあるビューにデータを送信します。
テストするとき、私は
メッセージ取得:未定義の変数は:私のモデルに
をUSER_ID。しかし、私がposts_read
関数に変数$user_id
を定義しても機能しますが、それを必要とするすべての関数で定義したくありません。
私はここで間違っていますか?
ありがとう!それはクラスレベルのvarなしで動作するようです。それは大丈夫ですか? – CyberJunkie