首页 > 解决方案 > CodeIgniter,用另一个表中的数据填充数据库表,数组到字符串转换错误

问题描述

我在使用数据库中另一个表中存在的数据填充我的一个数据库列时遇到问题。我想用在第一个表中找到的数据填充第二个表中的一列数据,但基于在第二个表中找到的数据。如果不清楚,我试图在下面简化它。

我有两张表,一张称为作业,一张称为提交。表提交包含列(accountid、assignmenttitle、assignment 和 expectedoutcome)。表 assignments 包含列(assignmentname、assignmenttype、lecturername、assignmentdetails 和 expectedoutcome)。

我在用户界面上有一个表单,用于将作业提交到“提交”表中,该表的前三列填充得很好,我的问题在于最后一列(预期结果)。

我已将与此相关的代码放在下面,尝试提交表单时,我不断收到错误“数组到字符串转换”,因此即使数据确实提交了,“提交”表中的最后一列也有条目“数组”而不是分配的预期结果,可以在“分配”表中找到。

模型中相关函数中的这段代码,这里的预定义变量 $code 和 $assignment 都取自相关视图上的用户表单。$assignment 还与分配的名称有关,该名称是通过相应视图上的下拉列表选择的。此处收集预期结果的查询返回一个数组,而不仅仅是我期望的单个实体。

模型:

// saves user assignment in the backend database under 'submissions' table          
public function saveassignment($code, $assignment) 
{

    $query = $this->db->query("SELECT expectedoutcome 
                                FROM assignments 
                                WHERE assignmentname = '$assignment'");
    return $query->result();

    $expectedoutcome = $query->result();
    $username = $this->session->userdata('username');

    $query = "INSERT INTO submissions 
                VALUES ('$username','$assignment','$code',
                        '$expectedoutcome')";
    $this->db->query($query);
}

控制器:

// handles submission page
public function submission() 
{
    $this->load->helper('form');
    $this->load->library('form_validation');
    $this->load->model('system');

    $data['title'] = "Submit Assignment";
    $data['assignments'] = $this->system->assignmentnames();

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

    $this->form_validation->set_rules('testcode','Test Code','required');   

    if ($this->form_validation->run() === FALSE) {
        $this->load->view('submission', $data);
    } else {
        $assignment = $this->input->post('assignmentname');
        $code = $this->input->post('testcode');
        $this->system->saveassignment($code, $assignment);
        echo "Code Saved Successfully";
        echo "<br /><a href='results'>View Results</a>";
    }
}

表架构

在此处输入图像描述

标签: phpcodeigniter

解决方案


推荐阅读