Select 从 codeigniter 中的两个表中查询

Select Query from two tables in codeigniter

我有 2 个 table: 活动和注册。

事件字段:EventID 和 EventName

注册字段:会员 ID 和姓名

我想拉取 EventName 和 Name- 的人。我如何使用模型执行此操作? 我的代码:
型号

function getAll()
{
    $query = $this->db->get('tblRegistration');
    if( $query->num_rows() > 0) {
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
    }
    $query->free_result();
    return $data;
}

控制器

public function getallevents() {
    $this->load->model('events_model');

    $data['records'] = $this->events_model->getAll();

    $this->load->view('view-events', $data);
}

查看

              foreach ($records as $row):
                        echo "<tr>";
                        echo "<td> $row->Name</td>";
                        // echo "<td> $row->intLocationID</td>";
                        echo "</tr>";
                    endforeach;

编辑

好的,我已经从 table 添加了我想要的数据。

型号

   function getAll()
{
    // get all the records from the schools table

    $this->db->select('*');
    $this->db->from('tblRegistration as reg');
    $this->db->join('tblMeetRace as met', 'reg.intMeetRaceID = met.intEventID');
    $query = $this->db->get();

    // if the number of rows returned is more than 0
    if( $query->num_rows() > 0) {
        // loop through each record (row) and place that
        // record into an array called $data
        foreach ($query->result() as $row) {
            $data[] = $row;
        }
    }
    $query->free_result();
    // return the array to the controller
    return $data;
}

查看

     foreach ($records as $row):
                        echo "<tr>";
                        echo "<td> $row->intMeetRaceID/td>";
                        echo "<td> $row->intEventID</td>";
                        echo "</tr>";
                    endforeach;

但我收到以下错误:

A PHP Error was encountered
Severity: Warning
Message: Invalid argument supplied for foreach()
Filename: views/view-events.php
Line Number: 89

首先,您需要在事件 table 中添加另一列用于存储 MemberId,比如 memberid。 一旦你有了它,每当一个成员注册一个事件时,你可以将他的 ID 存储在事件 table 中并关联它。

然后你可以使用Joins来获取数据

$this->db->select('*');
$this->db->from('registration as reg');
$this->db->join('events as evt', 'reg.id = evt.memberid');

$query = $this->db->get();