PHP函数更新整个表中每个任务的所有标题字段
我正在尝试将标题更新为单个数据库任务条目。我的函数当前更新表中所有任务的标题PHP函数更新整个表中每个任务的所有标题字段,php,laravel,Php,Laravel,我正在尝试将标题更新为单个数据库任务条目。我的函数当前更新表中所有任务的标题 public function update(User $user, Task $task, Request $request) { $data = $this->validate($request, [ 'title' => 'required|string|max:255', ]); Auth::user()->tasks()->update([
public function update(User $user, Task $task, Request $request) {
$data = $this->validate($request, [
'title' => 'required|string|max:255',
]);
Auth::user()->tasks()->update([
'title' => $data['title'],
'is_complete' => 0,
'updated_at' => '2020-01-30 10:39:33',
'created_at' => '2020-01-30 10:39:33'
]);
session()->flash('status', 'Task Completed!');
return redirect('/profile/' . auth()->user()->id);
}
试试这个
公共函数updateUser$user,任务$Task,请求$Request
{
$data=$this->验证$request[
'title'=>'必需|字符串|最大值:255',
];
Auth::user->tasks->find$task->id->update[
'title'=>$data['title'],
'是否完成'=>0,
“更新时间:2020-01-30 10:39:33”,
“创建于”=>“2020-01-30 10:39:33”,
];
会话->闪存“状态”,“任务已完成!”;
返回重定向'/profile/'.auth->user->id;
}
添加查找$task->id在任务雄辩生成器上使用where'id',$task->id:
Auth::user->tasks->where'id',$task->id->update[ 'title'=>$data['title'], '是否完成'=>0, “更新时间:2020-01-30 10:39:33”, '已创建于'=>'2020-01-30 10:39:33' ]
您必须使用唯一id来更新特定任务,如->where'id',$data['id']ErrorException Undefined property:Illumb\Database\Eloquent\Relations\HasMany:$idThank这似乎有效,但我得到的是它而不是返回页面SQLState[HY000]:一般错误:1没有此类列:0 SQL:update tasks set 0=1,更新的_at=2020-01-30 12:55:50,其中tasks.user_id=1,tasks.user_id不为null,id=7@ozeol你可以发布你的更新代码吗,看起来你正在传递一个数组,其中0是keyAuth::user->tasks->where'id',$task->id->update[$task->update['title'=>$data['title']“是否完成”=>0,“更新时间为”=>“2020-01-30 10:39:33”,“创建时间为”=>“2020-01-30 10:39:33”];为什么要将$task->update放在update方法中?我想你可以粘贴我的代码。