我必须从Gallery中删除一些图像(使用带有ID,URL,隐藏和ALT列的MySQL)。我想用Rest来做。我并不真正了解如何让他们共同努力。
这是我的画廊控制器:
public function delete_image($id) {
// Load Model
$this->load->model('gallery_model');
// get delete function
$this->gallery_model->delete_image($id);
}
这是我的画廊模型:
// Delete image
function delete_image($id) {
$this->db->delete('gallery', array('id' => $id));
}
UPD:这是我的Rest控制器:
<?php
defined('BASEPATH') OR exit('No direct script access allowed');
require APPPATH.'/libraries/Rest.php';
class Rest_Gallery extends Rest {
public function __construct() {
parent::__construct();
}
public function delete_image() {
// get the id to delete
$id = $this -> uri ->segment(2);
// Load Model
$this->load->model('gallery_model');
// get delete function
$this->gallery_model->delete_image($id);
// return example
$this->response('OK', 200);
}
}
UPD:以下是显示图片和删除的默认和后端图库路线:
$route['backend/gallery'] = 'backend/gallery/index';
$route['backend/gallery/delete/:any'] = 'rest_gallery/image_delete';
$route['default_controller'] = 'pages/index';
但现在我遇到了一个问题:下一步是什么? 我如何将它们组合在一起以使其工作。
如果您需要更多信息,我很高兴为您提供。
感谢您的帮助!
答案 0 :(得分:1)
您不需要2个控制器,让您的其他控制器启动模型并调用删除功能。 改变这个
public function delete_image($id) {
$this->response(array('returned from delete:' => $id, 200));
}
到
public function delete_image() {
$id = $app_name = $this -> uri -> segment(2);
// Load Model
$this->load->model('gallery_model');
// get delete function
$this->gallery_model->delete_image($id);
// return example
return ['message' => 'photo deleted'];
}
路线文件中的添加此
$route['backend/gallery/delete/:any'] = 'you rest controller/method name';
希望这有帮助。