如果新闻被删除,我需要删除与当前新闻相关的图标文件。我看到了两种方法。
第一的:
public function admin_delete ($id = null, $icon = null) {
if ($this->request->is('get')) {
throw new MethodNotAllowedException();
}
if ($this->News->delete($id)) {
unlink(WWW_ROOT . 'img/icons/news/' . $icon);
$this->Session->setFlash('ok!');
$this->redirect(array('action' => 'index'));
}
}
我需要从视图中将记录 ID 和文件名传递给此操作。对我来说,它看起来有点难看,也可能导致 Nginx 相关问题。
第二个:
public function admin_delete ($id = null) {
if ($this->request->is('get')) {
throw new MethodNotAllowedException();
}
$icon = $this->News->read('icon', $id);
if ($this->News->delete($id)) {
unlink(WWW_ROOT . 'img/icons/news/' . $icon['icon']);
$this->Session->setFlash('ok!');
$this->redirect(array('action' => 'index'));
}
}
但我不确定这是一个好方法,我应该使用read
or find('first')
。我希望你能给我一些建议,告诉我如何以更正确的方式去做。提前致谢!