Tôi muốn có thể tham gia hai bảng togeather.Codeigniter: Tham gia không hoạt động với các cột cùng tên và id
thế nào bao giờ vì tôi tôi bảng forum có column "name"
và forum_categories tôicolumn "name"
tôi không thể hiển thị cả hai tên.
On chọn của tôi() nếu tôi sử dụng như $this->db->select('f.name, fc.name', false);
nó chỉ hiển thị tên từ forum_categories
array(1) { [0]=> array(1) { ["name"]=> string(17) "News & Discussion" } }
Câu hỏi làm thế nào tôi có thể nhận được cả hai tên để hiển thị từ cả hai cột và bảng.
Lưu ý: Tôi chỉ muốn để có thể sử dụng $result['name']
trong vòng lặp foreach tôi.
Vì vậy, đặt ra Tôi muốn nó được
General
News & Discussion
Lounge
Tôi đã nhìn
CodeIgniter ActiveRecord field names in JOIN statement
codeigniter - select from 2 tables with same column name
Mô hình
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;
}
}
khiển
<?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;
}
}
}
cập nhật
hoạt động tốt với mã dưới đây nhưng thà chỉ cần sử dụng một trong rất nhiều tham gia()
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;
}
có thể bạn chỉ cần 'echo $ this-> db-> last_query(); 'sau khi thực hiện truy vấn và cố gắng thực hiện nó trực tiếp vào phpmyadmin để xem những gì nó mang lại cho – Zeeshan
@Zeeshan' CHỌN f.name, fc. name FROM 'forum' là' f' JOIN 'forum_categories' là' fc' ON 'fc'.'forum_categories_id' =' f'.'forum_id'' – user4419336
Bạn đã thử thực hiện nó trong' phpmyadmin' – Zeeshan