【问题标题】:displaying name of fk instead of numeric value through datatables in codeigniter通过codeigniter中的数据表显示fk的名称而不是数值
【发布时间】:2016-03-27 08:52:34
【问题描述】:

我正在使用数据表来显示旅行的重要细节,但是当我使用选择查询时,它显示 fk 整数值,而不是我想要在 tour_standered 表中的类型名称

我的表格图片如下

模型函数

public function cust_tour_primary_data(){
    $this->db->select('');
    $this->db->from('customized_tours');
    $this->db->join('tour_standered', 'tour_standered.std_id =customized_tours.std_type','left');
    $res=$this->db->get();
    //return $res->result();
    print_r($res->result());
    echo $this->db->last_query();
}

通过上述函数,我可以获得 fk 的名称,但我不希望 tour_standered 的其他字段,如创建、删除等。 我想对其他 fk 值做同样的事情。这样做查询结果会太长而且有点混乱,我也不知道如何进行多重连接。

【问题讨论】:

  • 只需在选择查询中添加您需要从表中获取的内容
  • 谢谢它可以工作,但是所有连接表中必须有唯一的名称,我得到了那个错误 id 模糊,所以我改变了这个名字现在它工作正常
  • 对同名列使用别名@shivakumar

标签: php mysql codeigniter datatable foreign-keys


【解决方案1】:

你可以在select方法中指定你需要的文件名,例如:

$this->db->select('title, content, date');

只会从表格中选择标题、内容和日期(参考:Codeigniter active record

你可以加入多个表,就像你对第一个表所做的那样,例如:

$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$this->db->join('user', 'user.id = blogs.user_id');

上面的查询连接了'blogs'、'cmets'和'user'表。

【讨论】:

  • 对我有用。请帮助理解左连接和简单连接。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-05-24
相关资源
最近更新 更多