Codeigniter: Как сделать коды моделей повторно используемыми?

Я написал следующий «код вставки» таким образом, что могу использовать его много раз. Таким образом, не записывая имя таблицы в модели, я мог бы написать имя таблицы в контроллере.

модельная функция

function insertTable($table, $data) {
    $this->db->insert($table, $data);
    return $this->db->insert_id();
}

инструкция контроллера

$insert = $this->Model_Action->insertTable('student',$student_data)

Но я хочу сделать то же самое и в следующем коде. Есть ли способ заменить p_id на $id?

Модель

  function delete_by_id($id)
    {
        $this->db->where('p_id', $id);
        $this->db->delete('parent');
    }

Контроллер

 public function student_delete($id)
{
    $this->load->model('Model_Action');
    $this->Model_Action->delete_by_id($id);
    echo json_encode(array("status" => TRUE));
}
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
0
172
5

Ответы 5

Если вы хотите удалить строку таблицы «студенческий» по идентификатору, вы можете использовать приведенный ниже код.

function delete_by_id($id) 
{
    $this->db->delete('student', array('id' => $id));
}

Если вы хотите удалить другую строку таблицы по идентификатору:

function delete_by_id($table, $id) 
{
    $this->db->delete($table, array('id' => $id));
}

Да, ты можешь. твоя модель

function delete_by_id($column_name, $id){
    $this->db->where($column_name, $id);
    $this->db->delete('parent');
}

затем используйте его в методах контроллера student_delete, например

$this->Model_Action->delete_by_id('p_id', $id);

Ну, вы должны использовать основные классы codeigniter.

В иерархии папок есть папка с именем core, в которой вы можете создать родительский контроллер и модель.

Вы можете сделать все функции модели, которые мы используем почти во всех моделях, например, для создания, обновления, удаления, чтения записей в этой родительской модели и наследовать модели наших приложений от этой модели.

В нашем контроллере нам просто нужно получить имя модели и использовать эти функции.

Примечание. Я использую тот же способ с 2018 года.

Вы можете определить Table_name в модели для многократного использования методов вставки, удаления, редактирования.

Вы можете использовать, где условия используют условие мудро.

Бывший.

function get($id='',$name='')
{
    if ($id >0)
    {
        $this->db->where('id',$id);
    }
}

Контроллер:

Запишите требуемое имя таблицы базы данных в переменную $table в контроллере. И передайте переменную $table в модель.

Модель:

function insertTable($table, $data) {
    $this->db->insert($table, $data);
    return $this->db->insert_id();
}

Другие вопросы по теме