Ich verwende die Auth Tank-Bibliothek von CI, um Datensätze für bestimmte Benutzer abzufragen.Codeigniter-Variablen aus dem Konstruktor sind nicht definiert
Die Variable $user_id = tank_auth->get_user_id();
ruft die Benutzer-ID aus der Sitzung ab. Ich möchte Aufzeichnungen machen, wo user_id = $user_id
.
Von was ich verstanden habe, können Konstruktoren Variablen jedes Mal laden, wenn eine Klasse initiiert wird. So ähnlich wie globale Variablen. Also habe ich gedacht, ich werde meine $user_id
in einem Modellkonstruktor setzen, damit ich es für mehrere Funktionen innerhalb der Modellklasse verwenden kann.
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();
}
}
nächstes ich Laden des Modells, eine Anordnung in meinen Controller zu schaffen, und um die Daten zu meiner Ansicht sendet, wo ich eine foreach Schleife haben.
Beim Testen ich
Nachricht: Undefined variable: user_id
in meinem Modell. Es funktioniert jedoch, wenn ich die $user_id
Variable in meiner posts_read
Funktion definiere, aber ich will es nicht in jeder Funktion definieren, die es benötigt.
Was mache ich hier falsch?
Danke! Es scheint auch ohne eine Var auf Klassenebene zu funktionieren. Ist das richtig? – CyberJunkie