php - 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>";
}
}
表架构
解决方案
推荐阅读
- bash - How to get A record of domain with local DNS server or manipulated hosts file
- javascript - 我如何更改日期选择器日历(javascript)
- azure - 如何在 Azure App Insights 中为页面视图事件提供自定义名称?
- mongodb - Adding a property to array items results in "The positional operator did not find the match needed from the query"
- kotlin - 为什么受保护的变量是 KProperty 而公共/私有变量是 KMutableProperty?
- ios - 如何知道是否启用了人脸 ID
- git - 我需要检查分支中的每个提交,需要列出 Git 中更改、添加和删除的文件
- c# - 当被要求不要时,ABC PDF 抗锯齿图像
- javascript - 谷歌分析两部分目标
- traminer - Omit output when calling seqdef