param([ 'name', 'category_id', 'page/d' => 1, 'size/d' => 10 ]); $attachments = AttachmentModel::field([ 'id', 'image', 'name', 'category_id', 'sort', 'recommend', 'created_at' ]) ->with(['category' => function ($query) { $query->field(['id', 'name' => 'category_name']); }]) ->withSearch(['name'], [ 'name' => $params['name']??null ]) ->language(request()->lang_id) ->categoryId($params['category_id']??null) ->order(['sort' => 'asc', 'id' => 'desc']) ->onlyTrashed() ->paginate([ 'list_rows' => $params['size'], 'page' => $params['page'] ]) ->bindAttr('category', ['category_name']) ->hidden(['category_id', 'category']) ?->each(fn($item) => $item->image = thumb($item->image)); return success('获取成功', $attachments); } /** * 恢复操作 */ public function restore() { $id = request()->param('id'); $attachment = AttachmentModel::onlyTrashed()->bypk($id)->find(); if (empty($attachment)) { return error("请确认操作对象是否正确"); } if (!$attachment->restore()) { return error("操作失败"); } return success("操作成功"); } /** * 删除操作 */ public function delete() { $id = request()->param('id'); $attachment = AttachmentModel::onlyTrashed()->bypk($id)->find(); if (empty($attachment)) { return error("请确认操作对象是否正确"); } if (!$attachment->force()->delete()) { return error("操作失败"); } return success("操作成功"); } }