一個PHP錯誤遇到
嚴重性:注意
消息:試圖讓非對象
財產文件名:models/task_model.php
行號:43
回溯:
文件:C:\的appserv \ WWW \ CI \程序\型號\ task_model.php 行:43 功能:_error_handler
文件:C:\的appserv \ WWW \ CI \應用\控制器\ tasks.php 行:57 功能:get_project_name
文件:C:\的appserv \ WWW \ CI \的index.php 行:315 功能:require_once
這種模式
<?php
class Task_model extends CI_Model{
public function get_task($task_id){
$this->db->where('id', $task_id);
$query = $this->db->get('tasks');
return $query->row();
}
public function create_task($data){
$query = $this->db->insert('tasks', $data);
return $query;
}
public function get_task_project_id($task_id){
$this->db->where('id', $task_id);
$query = $this->db->get('tasks');
return $query->row()->project_id;
}
public function get_project_name($project_id){
$this->db->where('id', $project_id);
$query = $this->db->get('projects');
return $query->row()->project_name;
}
public function get_task_project_data($task_id){
$this->db->where('id', $task_id);
$query = $this->db->get('tasks');
return $query->row();
}
public function edit_task($task_id, $data){
$this->db->where('id', $task_id);
$this->db->update('tasks', $data);
return true;
}
}
?>
該控制器
<?php
class Tasks extends CI_Controller{
\t
\t public function display($task_id){
\t \t $data['task'] = $this->task_model->get_task($task_id);
\t \t $data['main_view'] = "tasks/display";
\t \t $this->load->view('layouts/main', $data);
\t }
\t public function create($project_id){
\t \t $this->form_validation->set_rules('task_name', 'Task Name', 'trim|required');
\t \t $this->form_validation->set_rules('task_body', 'Task Description', 'trim|required');
\t \t if ($this->form_validation->run() == FALSE) {
\t \t \t
\t \t \t $data['main_view'] = 'tasks/create_task';
\t \t \t $this->load->view('layouts/main', $data);
\t \t }else{
\t \t \t $data = array(
\t \t \t \t 'project_id' => $project_id,
\t \t \t \t 'task_name' => $this->input->post('task_name'),
\t \t \t \t 'task_body' => $this->input->post('task_body'),
\t \t \t \t 'due_date' => $this->input->post('due_date')
\t \t \t);
\t \t \t if ($this->task_model->create_task($data)) {
\t \t \t \t
\t \t \t \t $this->session->set_flashdata('task_created', 'Your task Has Been Created');
\t \t \t \t redirect('tasks/index');
\t \t \t }
\t \t }
\t }
\t public function edit($task_id){
\t $this->form_validation->set_rules('task_name', 'Task Name', 'trim|required');
\t $this->form_validation->set_rules('task_body', 'Task Description', 'trim|required');
\t if ($this->form_validation->run() == FALSE) {
\t \t $data['project_id'] \t \t = $this->task_model->get_task_project_id($task_id);
\t \t $data['project_name'] \t = $this->task_model->get_project_name($data['project_id']);
\t \t $data['the_task'] \t \t = $this->task_model->get_task_project_data($task_id);
\t \t
\t \t $data['main_view'] = 'tasks/edit_task';
\t \t $this->load->view('layouts/main', $data);
\t }else{
\t \t $project_id = $this->task_model->get_task_project_id($task_id);
\t \t $data = array(
\t \t \t 'project_id' => $project_id,
\t \t \t 'task_name' => $this->input->post('task_name'),
\t \t \t 'task_body' \t => $this->input->post('task_body'),
\t \t \t 'due_date' \t => $this->input->post('due_date')
\t \t);
\t \t if ($this->task_model->edit_task($task_id, $data)) {
\t \t \t
\t \t \t $this->session->set_flashdata('task_updated', 'Your task Has Been Created');
\t \t \t redirect('projects/index');
\t \t }
\t }
}
}
?>
我無法找到問題:(
只是一個提示,如果使用笨3> veirsions文件名和類名應該有第一個字母大寫文件名:型號/ task_model.php更改文件名:型號/ Task_model.php同樣適用與控制器 – user4419336