dq_609586475 2017-08-14 08:46
浏览 52
已采纳

问题选择了1行但更新了其他行主键Laravel 5.4中的所有行

I have to select 1 table 1 row from Eloquent code

$ReceiveDetailSelected = ReceiveDetail::where([['subjectid', $subject],['psubid', $request->psubid],['id', $id]])->first();
return $ReceiveDetailSelected;

and Result

{"no":1,"id":1,"psubid":"1\/2017","pdetailid":"1","subjectid":"7","labid":"1","result":0,"path_file":"3","status":"pending","created_at":"2017-08-14 13:27:59","updated_at":"2017-08-14 15:19:39","deleted_at":null}

but In database update all row from code

$ReceiveDetailSelected = ReceiveDetail::where([['subjectid', $subject],['psubid', $request->psubid],['id', $id]])->first();
$ReceiveDetailSelected->status = 'pending';
$ReceiveDetailSelected->path_file = '4';
$ReceiveDetailSelected->save();
return $ReceiveDetailSelected;

And Full code in function

public function storenewwork($id,$subject,$product,Request $request)
  {
    $ReceiveDetailSelected = ReceiveDetail::where([['subjectid', $subject],['psubid', $request->psubid],['id', $id],['no', '1']]);
    $ReceiveDetailSelected->status = 'pending';
    $ReceiveDetailSelected->path_file = '4';
    $ReceiveDetailSelected->save();
    return $ReceiveDetailSelected;
  }
  • 写回答

1条回答 默认 最新

  • dongtu1357 2017-08-14 09:20
    关注

    I resolved by Add protected $primaryKey = 'no'; I think laravel has set pk to id.It will update all row in id= 1

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 ikuai客户端l2tp协议链接报终止15信号和无法将p.p.p6转换为我的l2tp线路
  • ¥15 经gamit解算的cors站数据再经globk网平差得到的坐标做形变分析
  • ¥15 GD32 SPI通信时我从机原样返回收到的数据怎么弄?
  • ¥15 phython读取excel表格报错 ^7个 SyntaxError: invalid syntax 语句报错
  • ¥20 @microsoft/fetch-event-source 流式响应问题
  • ¥15 ogg dd trandata 报错
  • ¥15 高缺失率数据如何选择填充方式
  • ¥50 potsgresql15备份问题
  • ¥15 Mac系统vs code使用phpstudy如何配置debug来调试php
  • ¥15 目前主流的音乐软件,像网易云音乐,QQ音乐他们的前端和后台部分是用的什么技术实现的?求解!