我想能够加入两个表togeather。Codeigniter:加入不与列相同的名称和编号
,因为我在我的论坛表有column "name"
和我forum_categories如何过column "name"
我不能够显示这两个名字。
在我的选择(),如果我使用像$this->db->select('f.name, fc.name', false);
它只能从forum_categories
array(1) { [0]=> array(1) { ["name"]=> string(17) "News & Discussion" } }
问我怎样才能得到这两个名字从两列和 表显示。
注:我只希望能在我的foreach循环使用$result['name']
。
所以出来把我想它是
General
News & Discussion
Lounge
我已经看过
CodeIgniter ActiveRecord field names in JOIN statement
codeigniter - select from 2 tables with same column name
型号
public function get_forums() {
$this->db->select('f.name, fc.name', false);
$this->db->from('forum as f');
// tried $this->db->join('forum_categories as fc', 'fc.forum_id = f.forum_id');
$this->db->join('forum_categories as fc', 'fc.forum_categories_id = f.forum_id');
$query = $this->db->get();
if ($query->num_rows() > 0) {
return $query->result_array();
} else {
return false;
}
}
控制器
<?php
class Forums extends MY_Controller {
public function __construct() {
parent::__construct();
}
public function index() {
$data['label'] = '';
$data['forums'] = array();
$results = $this->get_forums();
var_dump($results);
if (isset($results)) {
foreach ($results as $result) {
$data['forums'][] = array(
'name' => $result['name'], // Only want to use single variable.
);
}
}
$data['header'] = Modules::run('admin/common/header/index');
$data['footer'] = Modules::run('admin/common/footer/index');
$this->load->view('template/forum/list_forum_view', $data);
}
public function get_forums() {
$this->db->select('f.name, fc.name', false);
$this->db->from('forum as f');
$this->db->join('forum_categories as fc', 'fc.forum_categories_id = f.forum_id');
$query = $this->db->get();
if ($query->num_rows() > 0) {
return $query->result_array();
} else {
return false;
}
}
}
更新
正常工作与下面代码,但宁愿只使用一个很多加盟()
public function get_forums() {
$this->db->select("*");
$this->db->from('forum');
$query = $this->db->get();
foreach ($query->result_array() as $f) {
$data[] = array(
'name' => $f['name']
);
$this->db->select("*");
$this->db->from('forum_categories');
$query = $this->db->get();
foreach ($query->result_array() as $fc) {
$data[] = array(
'name' => $fc['name']
);
}
}
return $data;
}
可你只是'回声$这个 - > DB-> last_query();'查询执行后,并尝试直接执行它到phpMyAdmin,看看它给 – Zeeshan
@Zeeshan'选择f.name,FC。名称从'forum'作为'f'加入'forum_categories'作为'fc' ON'fc'.'forum_categories_id' ='f'。'forum_id'' – user4419336
您是否尝试过在'phpmyadmin'中执行它 – Zeeshan