thinkphp6实现活动列表的删除功能
时间: 2024-05-05 09:15:51 浏览: 85
小程序实现列表删除功能
在ThinkPHP6中,实现活动列表的删除功能可以按照以下步骤进行:
1. 在控制器中定义删除方法,如下所示:
```php
public function delete($id)
{
$activity = ActivityModel::find($id);
if (!$activity) {
return $this->error('活动不存在');
}
$activity->delete();
return $this->success('删除成功');
}
```
2. 在路由中定义删除路由,如下所示:
```php
Route::delete('activity/:id', 'activity/delete');
```
3. 在活动列表页面中添加删除按钮,并使用ajax发送delete请求,如下所示:
```html
<a href="javascript:void(0);" class="btn btn-danger btn-xs" onclick="if(confirm('确定删除?')){deleteActivity({$activity.id})}">删除</a>
<script>
function deleteActivity(id) {
$.ajax({
url: '/activity/' + id,
type: 'DELETE',
success: function (res) {
if (res.code === 1) {
alert(res.msg);
location.reload();
} else {
alert(res.msg);
}
}
});
}
</script>
```
其中,`$activity.id`是当前活动的ID。当用户点击删除按钮时,会弹出确认框,如果用户确定删除,则调用`deleteActivity`函数发送ajax请求。
4. 在控制器中定义成功和失败的返回值,如下所示:
```php
protected function success($msg = '', $url = null, $data = null)
{
return json([
'code' => 1,
'msg' => $msg,
'url' => $url,
'data' => $data,
]);
}
protected function error($msg = '', $url = null, $data = null)
{
return json([
'code' => 0,
'msg' => $msg,
'url' => $url,
'data' => $data,
]);
}
```
这样,当删除成功时,会返回带有`code`为1的json数据,否则返回带有`code`为0的json数据。
5. 最后,需要在模型中定义软删除的属性和方法,如下所示:
```php
use think\Model;
use think\model\concern\SoftDelete;
class ActivityModel extends Model
{
use SoftDelete;
protected $deleteTime = 'delete_time';
}
```
这样,当我们调用`delete`方法时,实际上是将`delete_time`字段更新为当前时间,而不是真正的删除。
阅读全文