我必须从Gallery中删除一些图像(使用带有ID,URL,隐藏和ALT列的MySQL)。我想休息一下。我真的不明白如何让他们共同努力。

这是我的图库控制器:

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';


但是现在我有一个问题:下一步是什么?
我必须如何将所有这些布线在一起才能正常工作。

如果您需要更多信息,我很乐意提供给您。

感谢帮助!

最佳答案

您不需要2个控制器,让您的其余控制器启动模型并调用delete函数。
改变这个

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';

希望对您有所帮助。

关于php - Codeigniter和画廊休息,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/32150329/

10-12 00:47