mysql - 如何在codeigniter中显示名称
问题描述
请帮帮我,我想根据sender_id
和显示表格中的用户名recipient_id
,我的CodeIgniter中的代码模型和视图如何
模型
function get_pesan_view(){
$this->db->from('messages');
$this->db->join('users', 'users.id = messages.sender_id', 'left');
$this->db->join('users', 'users.id = messages.recipient_id', 'left');
$q2 = $this->db->get();
return $q2->result();
}
控制器
public function view_pesan()
{
$data['get_pesan']=$this->Emp_model->get_pesan_view();
$this->load->view('employee/top');
$this->load->view('employee/nav', $data);
$this->load->view('employee/slidbar', $data);
$this->load->view('employee/pesan', $data);
$this->load->view('employee/bottom');
}
看法
<?php foreach ($get_pesan as $pesan) { ?>
<strong> Sender : <?php echo $pesan->name ; ?> </strong>
<strong> Recipient : <?php echo $pesan->name ; ?> </strong>
<a> <?php echo $pesan->body ; ?></a>
<?php } ?>
我想在视图中同时显示发件人和收件人的姓名
解决方案
控制器
public function get_names(){
$this->load->model('model_name'); //If not loaded in the autoload.php file
$names = $this->model_name->all_names();
$this->load->view('view_file_name', compact('names'));
}
模型中的查询会是这样的
public function all_names(){
$this->db->select('name');
$this->db->from('users');
$this->db->join('messages', 'users.id = messages.sender_id');
return $this->db->get()->result();
}
加入recipient_id
这样做
$this->db->join('messages', 'users.id = messages.recipient_id');
然后使用foreach
循环names
在视图中显示所有内容
foreach($names as $row){
echo $row->name;
}
推荐阅读
- amazon-s3 - 如何使用 AWS Athena 读取加密的 delta 格式的 s3 数据集?
- vba - 如何使用 Selenium VBA 在 iframe 中的用户名字段中发送文本
- node.js - 创建 React 应用程序,中止安装
- azure - Azure B2C 自定义登录页面在 IE11 中不起作用
- javascript - 导航到另一个页面时如何保持菜单打开?
- sql - 如何按“自然”顺序对字段名称进行排序?
- java - 最终静态字段序列化
- javascript - 在传单弹出窗口中为标记创建指向 pdf 文档的链接
- python - Matplotlib 改变 x 轴单位
- java - 如何允许使用 Eclipse 自动导入带有 fxml 文件的 JavaFX 包