Php 表连接带有活动记录和GroceryCrud的CodeIgniter
参考: 我有两张这样的桌子:Php 表连接带有活动记录和GroceryCrud的CodeIgniter,php,mysql,codeigniter,activerecord,Php,Mysql,Codeigniter,Activerecord,参考: 我有两张这样的桌子: (uid - hidden) | Title | Description | Location | Start Date | End Date | Start Time | End Time | Days | Reccurence Swim Lesson Level 1 Gym 05/04/2012 NULL 12:30
(uid - hidden) | Title | Description | Location | Start Date | End Date | Start Time | End Time | Days | Reccurence
Swim Lesson Level 1 Gym 05/04/2012 NULL 12:30 1:30 Mon,Wed,Fri 2
[tblFitnessClasses]id uid标题描述位置
[tblFitnessClassDateTimes]所有者\u uid startDate endDate startTime
结束时间重复天数
基本上,我想让桌子变成这样:
(uid - hidden) | Title | Description | Location | Start Date | End Date | Start Time | End Time | Days | Reccurence
Swim Lesson Level 1 Gym 05/04/2012 NULL 12:30 1:30 Mon,Wed,Fri 2
在我的主控制器中,我有以下部分:
function fitnessSchedule()
{
$this->config->set_item('url_suffix', '');
$crud = new grocery_CRUD();
$crud->set_table('tblFitnessClasses');
$this->load->model('schedule_model');
$this->schedule_model->join_table('tblFitnessClasses','tblFitnessClassDateTimes');
$crud->columns('title','description','location','startEventDate','endEventDate','startTime', 'endTime', 'days', 'recurrence', 'finalDate);
$crud->display_as('title','Event')
->display_as('description','Description')
->display_as('location','Location')
->display_as('startEventDate','Start Date')
->display_as('endEventDate','End Date')
->display_as('startTime','Start Time')
->display_as('endTime','End Time');
$crud->required_fields('title','location');
$crud->set_subject('Event');
$output = $crud->render();
$this->_example_output($output);
}
在我的模型中,我有:
<?php
class schedule_model extends CI_Model
{
public function join_table($table1,$table2)
{
$this->output->enable_profiler(TRUE);//Turns on CI debugging
$this->db->select("*");
$this->db->from($table1);
$this->db->join($table2, $table1.".uid". "=".$table2.".owner_uid"); // Join classes and class date times by UID
$results = $this->db->get()->result();
return $results;
}
}
?>
当我运行这段代码时,我得到一个包含所有必需字段的表,但是表2中的字段(tblFitnessClassDateTimes)缺少所有信息。字段不填充其数据。除此之外,如果我选择编辑该表,它只会转到edit able1(TBLFitnessClasses)
您以错误的方式加载模型。事实上,你连一个都没装!您只是创建了一个新的
杂货店CRUD
实例,而不是您编写的模型
$this->load->model('schedule_model');
$this->schedule_model->join_table('tblFitnessClasses','tblFitnessClassDateTimes');
始终建议使用:
$this->load->library('grocery_CRUD');
因此,守则应为:
$this->load->library('grocery_CRUD');
$crud = new grocery_CRUD();
更改后,它会显示“致命错误:在C:\xampp\htdocs\codeigniter\application\models\schedule\u Model.php的第3行中找不到类'grovery\u CRUD\u Model'”(我的models文件夹中有'grovery\u CRUD\u Model.php'),非常感谢您清除了其他错误@에이바 您需要扩展
CI\u模型
,而不是scrud\u模型
。您不能扩展您编写的另一个模型。我建议您看看杂货店的CRUD文档,特别是这个和这个有趣的文档,在这个例子中,它说要扩展杂货店的CRUD模型(以及扩展CI模型的代码)。我来看看文档。再次感谢。