codeigniter在另一个查询中使用部分查询结果

时间:2013-07-30 12:38:44

标签: php mysql codeigniter

很难想出一个头衔。我正在使用CodeIgniter与模型/视图/控制器。我的MySQL数据库中有以下表格是相关的:

enter image description here

在我的模型中,我有以下功能:

function get_shoptable() {
    $this->db->from('productshop')->where('productId', $this->productId);
    $query = $this->db->get();
    return $query->result();
}

在我的控制器中,我使用上面的功能,如

$data['bookshop'] = $this->Product_model->get_shoptable();

在我看来,我正在预订$ bookshop。我的问题是,显示shopName的最佳方式是什么,而不是显示shopId。考虑到$ bookshop应该照原样(除了shopid),因为我正在创建一个包含产品数据的HTML表。

3 个答案:

答案 0 :(得分:3)

尝试这样的事情:

function get_shoptable() {
    $this->db->from('productshop')
    ->join('shop', 'productshop.shopId = shop.shopId')
    ->where('productshop.productId', $this->productId);
    $query = $this->db->get();
    return $query->result();
}

答案 1 :(得分:1)

忽略了active class codeigniter的功能细节

function get_shoptable()
 {
    $this->db->from('productshop')
    $this->db->join('shop', 'productshop.shopId = shop.shopId')
    $this->db->where('productshop.productId', $this->productId);
    $query = $this->db->get();
    return $query->result();
}

答案 2 :(得分:1)

型号:

function get_products() {
    $this->db->select('productshop.productUrl, productshop.price, productshop.deliveryTime, productshop.shippingCast, productshop.inventory, productshop.productId, productshop.shopId, shop.shopName');
    $this->db->from('productshop');
    $this->db->join('shop', 'productshop.shopId = shop.shopId');
    $this->db->where('productshop.productId', $this->productId);
    return $this->db->get()->result_array();
}

控制器:

function products() {
    $data['products'] = $this->model_name->get_product();
    $this->load->view('products', $data);

}

查看:

<?php foreach($products as $p): ?>
<h1><?php echo $p['productUrl']; ?></h1>
<h1><?php echo $p['shopName']; ?></h1>
<?php endforeach(); ?>