我正在使用JWt all方法(索引、存储、显示等)在laravel中创建待办事项应用程序,路由资源中的所有方法(索引、存储、显示等)工作正常,除了结果更新外,其工作正常,并获得成功响应,但数据库中没有更改
**对不起,我的英语不好
应用程序编程接口。php
Route::middleware('jwt.auth')->group(function () {
Route::resource('/todo', 'API\TodoController');
});
BaseController。php
class BaseController extends Controller
{
public function sendResponse($result,$message)
{
$response=[
'success'=> true,
'date' => $result,
'message'=> $message
];
return response()->json($response,200);
}
public function sendError($error,$errorMessages=[],$code=404)
{
$response=[
'success'=> false,
'message'=> $error
];
if (!empty($errorMessages)) {
$response['date']=$errorMessages;
}
return response()->json($response,$code);
}}
TodoController。php
class TodoController extends BaseController
{
.
.
.
public function update(Request $request, Todolist $todolist)
{
//
$input = $request->all();
$validator = Validator::make($input, [
'title' => 'required | max:255',
'content' => 'required | max:255',
'status' => 'required | max:2',
'start_date' => 'required ',
'end_date' => 'required ',
]);
if ($validator->fails()) {
return $this->sendError('error validation', $validator->errors());
}
$todolist->title = $request->title;
$todolist->content = $request->content;
$todolist->status = $request->status;
$todolist->start_date = $request->start_date;
$todolist->end_date = $request->end_date;
$todolist->save();
return $this->sendResponse($todolist->toArray(), 'update successfully');
}}
这是《邮差》的结果
https://i.stack.imgur.com/4oHqC.png
托多利斯特。php模型
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Todolist extends Model
{
//
protected $table='todolists';
protected $fillable =[
'title',
'content',
'status',
'photo_id',
'date_id',
'start_date',
'end_date',
'user_id'
];
}
待办事项表
https://i.stack.imgur.com/GGr5Q.png
你们应该在上课前参考模型
use App\Todolist;
class TodoController extends BaseController
{
.
.
.
public function update(Request $request, Todolist $todolist)
{
//
$input = $request->all();
$validator = Validator::make($input, [
'title' => 'required | max:255',
'content' => 'required | max:255',
'status' => 'required | max:2',
'start_date' => 'required ',
'end_date' => 'required ',
]);
if ($validator->fails()) {
return $this->sendError('error validation', $validator->errors());
}
$todolist->title = $request->title;
$todolist->content = $request->content;
$todolist->status = $request->status;
$todolist->start_date = $request->start_date;
$todolist->end_date = $request->end_date;
$todolist->save();
return $this->sendResponse($todolist->toArray(), 'update successfully');
}}
我不认为这篇文章我如何覆盖laravel资源路由默认方法?解决了我的问题。 正常的资源路由是“索引”显示所有项目。我想做的是让“索引”显示一个特定ID的所有相关项目。 因此,当我从列表中选择一个教室时,我需要调用的索引操作,以显示该特定教室的所有人员,就像它的索引函数一样。 所以我替换了默认的资源路由 与 所以在我的控制器中,我有这样的内容: 在我的教室里,在一个特定的教室id上,我有这个 就我所
资源路由 支持设置RESTFul请求的资源路由,方式如下: Route::resource('blog','index/blog'); 表示注册了一个名称为blog的资源路由到index模块的Blog控制器,系统会自动注册7个路由规则,如下: 标识 请求类型 生成路由规则 对应操作方法(默认) index GET blog index create GET blog/create create s
我需要在我的项目中实现本地化。我添加了一个带有前缀的组。 中间件setlocale 路由器列表 一切都很完美。但有一个问题。当我打开路线时: http://127.0.0.1:8000/en/projects/1 (展览项目) 我犯了一个错误 传递给App\Http\Controllers\ProjectsController::show()的参数1必须是App\Project的实例,字符串为 我
我知道资源控制器可以有以下方法 现在假设除了资源操作之外,我还需要执行以下操作: 用户尝试登录 管理员希望通过电子邮件/名字查找用户 用户通过slug请求帖子 资源控制器对上述功能无用吗?如果编程一个API,我显然想要索引,显示,编辑,创建,销毁... 是否可以路由到这两种类型的控制器?例如。 或者我应该忘记资源控制器而改用restful控制器吗?
作为 laravel 极其重要的一部分,route 功能贯穿着整个网络请求,是 request 生命周期的主干。本文主要讲述 route 服务的注册与启动、路由的属性注册。本篇内容相对简单,更多的是框架添加路由的整体设计流程。 route 服务的注册 laravel 在接受到请求后,先进行了服务容器与 http 核心的初始化,再进行了请求 request 的构造与分发。 route 服务的注册——
上下文我在Laravel8中工作,我使用DataTables插件来显示数据库中的记录。正如您将在代码中看到的,我使用Route::resource('animal','AnimalController')创建了所有要执行CRUD的路由。这将为销毁方法生成如下路径:animal/{id} 问题。当我按下特定记录的删除按钮时,记录会被删除,没关系,但是浏览器控制台会返回这个错误:“此路由不支持DELE