Codeigniter和Rest for Gallery

时间:2015-08-21 22:46:18

标签: php mysql codeigniter rest

我必须从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';

但现在我遇到了一个问题:下一步是什么? 我如何将它们组合在一起以使其工作。

如果您需要更多信息,我很高兴为您提供。

感谢您的帮助!

1 个答案:

答案 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';
希望这有帮助。