加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > PHP教程 > 正文

在php codeigniter中连接

发布时间:2020-12-13 22:18:41 所属栏目:PHP教程 来源:网络整理
导读:请帮助我理解正确的连接语法. 我有一个名为inventory的表,其中包含: trans_id trans_items items - item_id trans_user employees - person_id trans_date trans_comment trans_inventory 如上所示,trans_items是items表中的外键,trans_user是employees表中
请帮助我理解正确的连接语法.

我有一个名为inventory的表,其中包含:

trans_id    
trans_items items -> item_id         
trans_user  employees -> person_id           
trans_date                   
trans_comment                
trans_inventory

如上所示,trans_items是items表中的外键,trans_user是employees表中的外键,employee id是people表的外键.

现在我想要做的是在HTML中显示库存表,但是我希望显示员工NAME,而不是显示员工ID.

编辑…………………………………………
所以我只能使用以下代码显示员工的姓氏:

$this->db->select('inventory.*,items.name,people.last_name');
$this->db->from('inventory');
$this->db->join('items','inventory.trans_items = items.item_id','left');
$this->db->join('people','inventory.trans_user = people.person_id','left');
$this->db->where('deleted',0);
$this->db->order_by('trans_date desc');

使用型号代码:

foreach($report_data as $row)
        {
            $tabular_data[] = array($row['name'],$row['last_name'],$row['trans_date'],$row['trans_inventory'],$row['trans_comment']);
        }

但我需要它作为名字和姓氏,所以我做了这些:

$this->db->select('inventory.*,CONCAT(people.first_name," ",people.last_name) as employee');
$this->db->from('inventory');
$this->db->join('items',$row['employee'],$row['trans_comment']);
        }

如果我使用concat函数会出错.请帮忙.

解决方法

你的选择必须是这样的($this-> db-> select(‘你的选择部分’,FALSE)中的第二个参数):

$this->db->select('inventory.*,people.last_name) as employee',FALSE);
$this->db->from('inventory');
$this->db->join('items',0);
$this->db->order_by('trans_date desc');

从Codeigniter手册引用:

If you set it to FALSE,CodeIgniter will not try to protect your field or table names with backticks. This is useful if you need a compound select statement.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读