[英]How to get user name from the table in codeigniter
我有2個表,一個保留日志,另一個保留用戶名。
表一(日志)有
ID|USERID|DATETIME|MESSAGE
表二(用戶)有
ID|USERNAME|PASSWORD
在codeigniter模型中,我有
function getRlog(){
$this->db->limit(100);
$this->db->order_by("id","desc");
$this->db->where('type', "reservation");
$q = $this->db->get('logs');
if($q->num_rows() > 0) {
foreach($q->result() as $row){
$data[] = $row;
}
return $data;
}
}
在控制器中,我有...
function log(){
if (!$this->ion_auth->is_admin())
{
$this->session->set_flashdata('message', 'You must be an admin to view this page');
redirect('auth/login');
} else {
$data ['user'] = $this->ion_auth->get_user();
$this->load->model('Logs_model');
$data['logs'] = $this->Logs_model->getRlog();
$this->load->view('database/log', $data);
}
}
我想根據日志表中的ID從用戶表中獲取用戶名 。 我應該創建一個外鍵嗎? 並且,如果我怎么獲得用戶名?
您可能會在模型中這樣做
function getRlog(){
$this->db->limit(100);
$this->db->order_by("id","desc");
$this->db->where('type', "reservation");
$q = $this->db->get('logs');
if($q->num_rows() > 0) {
$data = array(); //create new data array to be returned
foreach($q->result() as $row){
$row->user = $this->ion_auth->get_user($row->userid); //create new user property that contains user object
$data[] = $row; //append to new data array with appended user property
}
return $data;
}
else {
return false; //if no results make sure you return something, either false or empty array depending on your needs.
}
}
這樣,假設您的控制器保持不變,您就可以從模型返回的日志結果中訪問整個用戶對象。
視圖
foreach($logs as $log) {
echo $log->user->username;
}
甚至...
foreach($logs as $log) {
echo $log->user->email; //etc...
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.