Search code examples
phpcodeignitermodelcontrollercodeigniter-4

How to delete database content in codeigniter 4


I want to delete content from my database, How do I pass the ID in URL to execute this?

public function delete($id = null)
    {

     $model = new PostModel();

     $data['post'] = $model->where('id', $id)->delete();

     return redirect()->to( base_url('admin/posts') );
    }
}

I had

example.com/post/delete/id 

but didn't work.


Solution

  • step 1: create route

    $routes->get('posts/delete/(:num)', 'PostsController::delete/$1');
    

    step 2: Use PostModel as (use App\Models\PostModel;) at the top. Now create a method in PostsController class.

    public function delete($id = null)
    {
    
     $model = new PostModel();
    
     $data['post'] = $model->where('id', $id)->delete();
    
     return redirect()->to( base_url('admin/posts') );
    }
    

    step 3: create a link as

    <a href=" <?php  echo base_url("posts/delete/". $post['id']); ?>">Remove</a>
    

    it should work