活动记录和加入特定ID行

时间:2013-04-06 09:26:50

标签: codeigniter join

这是我的问题:

  • 我有一个名为:events
  • 的控制器
  • 我有一个名为:inscrits_liste
  • 的视图
  • 我有一个名为:inscrits_model
  • 的模型

我的查询有2个表可供使用:

表1:inscrits
表2:etats

第三个表叫做:events

在我的表格“etats”

我有'etat_id'和'etat_lib'

我想从'etat'获得11个“inscrit”的详细信息 对于指定的事件ID。

events.php

<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');

class Events extends MY_Controller
{

    public function __construct()
    {
        parent::__construct();

        $this->load->model('event_model', 'event_m');             // Modele des évènements
        $this->load->model('inscrits_model', 'inscrits_m');             // Modele des inscrits
        $this->template->title('Gestion des évènements');
        $this->template->data('titre', 'EVENTS');
        $this->is_validated();
    }

    public function index()
    {
        // Preparation du template

        $this->template->data('heading', 'Liste des evènements');
        $this->template->widgets('content', 'events_list');

        try
        {
            // On recupère la liste des events
            $this->template->data('evt', $this->event_m->get_all(array(), array('evenement_title ASC')));

            // On charge le template
            $this->template->load();
        }
        catch (Exception $e)
        {
            echo $e->getCode() . " => " . $e->getMessage();
        }
    }

    public function inscrits($event_id)
    {
        // Preparation du template

        $this->template->data('heading', 'Liste des inscrits');
        $this->template->widgets('content', 'inscrits_liste');

        try
        {
            // On recupère la liste des inscrits
            $this->template->data('inscrits', $this->inscrits_m->inscrits_event($event_id));

            // On charge le template
            $this->template->load();
        }
        catch (Exception $e)
        {
            echo $e->getCode() . " => " . $e->getMessage();
        }
    }

}

型号:

<?php

class inscrits_model extends MY_Model
{

    protected $table = 'inscrits';
    protected $primary = 'inscrits_id';

    public function inscrits_event($event_id)
    {

        $this->db->select('inscrits_id,inscrits_pseudo,inscrits_nom,inscrits_prenom,inscrits_email,etat_lib');
        $this->db->from('inscrits');
        $this->db->join('etats', 'inscrits.inscrits_etat_id = etats.etat_id', 'inner');
        $this->db->where('inscrits_evenement_id', $event_id);
        $joint = $this->db->get();
        return $joint;
    }

}

/* End of file admin_model.php */
/* Location: ./application/models/admin_model.php */

问题是使用特定的event_id为当前事件发出1个inscrit的请求。

我找不到机制:s

我知道模型执行查询,控制器使用模型将数据发送到视图。 但就我而言,在模型中我想使用视图中一行给出的数据(当前的event_id)。

我迷路了!

1 个答案:

答案 0 :(得分:0)

这是你的问题

    $joint = $this->db->get();
    return $joint;//this is not returning the results :)

你必须这样做:

 public function inscrits_event($event_id)
    {
$this->db->select('inscrits_id,inscrits_pseudo,inscrits_nom,inscrits_prenom,inscrits_email,etat_lib');
        $this->db->from('inscrits');
        $this->db->join('etats', 'inscrits.inscrits_etat_id = etats.etat_id', 'inner');
        $this->db->where('inscrits_evenement_id', $event_id);
        $joint = $this->db->get();
        return $joint->result();
    }