Как настроить эти данные для работы с видом и моделью

0

У меня проблемы, я не знаю, как это сделать с моделью, представлением и контроллером. Я новичок в codigniter и немного потерял способность учиться. Я установил все в контроллере, который, как я знаю, теперь неправильно, страница со страницей не отображается, когда я вставляю запись после того, как я нажал submit. когда он должен просто перенаправить меня обратно, я вставил запись.

контролер сотрудников

 <?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');

    class Employee extends CI_Controller {
    function __construct()
{
    parent::__construct();
    $this->load->model('employee_model');

    }   

    //Insert the employee 
        public function  insert_employee()
        { 


            $data=array('name'=>$this->input->post('name'),
                'LanId'=>$this->input->post('LanId'),
                'reason'=>$this->input->post('reason'),
                'PepNumber'=>$this->input->post('PepNumber'),
                'Employee_Number'=>$this->input->post('Employee_Number'),
                'department'=>$this->input->post('department'),

                'status'=>1);
            //print_r($data);

            $result=$this->employee_model->insert_employee($data);
            if($result==true)
            {
                $this->session->set_flashdata('msg',"Employee Records Added Successfully");
                redirect('employee/index');

            }
            else
            {

                $this->session->set_flashdata('msg1',"Employee Records Added Failed");
                redirect('employee/index');


            }
        }

модель сотрудника

<?php

class Employee_model extends CI_Model 
{

    public function insert_employee($data)
    {
        $this->db->insert('employee_list',$data);
        return ($this->db->affected_rows() != 1 ) ? false:true;
    }
    public function get_employee()
    {
        $this->db->select('*');
        $this->db->from('employee_list');
        $this->db->where('status',1);

        $query =$this->db->get();
        return $query->result();
    }
    public function delete_employee($id,$data)
    {
        $this->db->where('id',$id);
        $this->db->update('employee_list',$data);
        return ($this->db->affected_rows() != 1 ) ? false:true;
    }
    public function edit_employee($id)
    {
        $this->db->select('*');
        $this->db->from('employee_list');
        $this->db->where('id',$id);
        $this->db->where('status',1);
        $query =$this->db->get();
        return $query->result();

    }
    public function update_employee($data,$id)
    {
        $this->db->where('id',$id);
        $this->db->update('employee_list',$data);
        return ($this->db->affected_rows() != 1 ) ? false:true;
    }
}
  • 0
    Если вы уже не сделали этого в конструкторе или автозагрузке, вы должны загрузить свою модель перед ее использованием: $this->load->model("employee_model");
Теги:
sql-server
codeigniter

2 ответа

0
Лучший ответ

Вы не загрузили модель перед ее использованием.

Существует несколько способов работы с моделями.

Если вам это нужно аккуратно, вы можете загрузить его в свою функцию:

public function myFunction()
{
    $this->load->model("mymodel");
    $this->mymodel->myfunction();
}

Однако, если это очень распространенная модель вашего контроллера, вы можете загрузить один раз для всех в своем конструкторе:

class MyController extends CI_Controller 
{

    public function __construct()
    {
        parent::__construct();
        $this->load->model('mymodel');
    }

    public function index()
    {
        $this->mymodel->myfunc();
    }
}

Наконец, если это центральная модель в вашем приложении, вы можете загрузить ее для всех своих контроллеров.

Перейдите в приложение /config/autoload.php:

$autoload['model'] = array("mymodel");

EDIT: Кроме того, возврат вашей модели неверен.

return $this->db->affected_rows(); //It enought :)
  • 0
    это все написано в контроллере, что неверно
  • 0
    Я не вижу load->model() в предоставленном вами коде.
Показать ещё 12 комментариев
0

Работа с моделями в codeigniter:

$this->load->model('Model_Name');

И вы вызываете методы из класса Model_Name:

$this->Model_Name->some_method($parametar1, $parametar2);

Ещё вопросы

Сообщество Overcoder
Наверх
Меню