douliandan7340 2016-06-15 04:40
浏览 103

Laravel不会存储offsetSet()定义的值

I have this code

class DonorsController extends Controller
{
    //Some code

    public function donorAddSave(Request $request){
      if ($request->file('DonorPhoto')->isValid()) {
        $destinationPath = 'uploads'; // upload path
        $DonorPhotoURL = date_timestamp_get(date_create()).'.'.$request->file('DonorPhoto')->guessExtension();
        $request->file('DonorPhoto')->move($destinationPath,$DonorPhotoURL);
      }

      $request->offsetSet('UserID',1);
      $request->offsetSet('DonorPhotoURL','/'.$destinationPath.'/'.$DonorPhotoURL);

      if(!$request->has('DonorPrefix')){
        $request->offsetSet('DonorPrefix', 'Mx.');
      }

      $donor = \App\Donor::create($request->all());
      return redirect('/donor/'.$donor->DonorID);
    }
}

When I tried return $request->all() to see whether the value of DonorPrefix, UserID, and DonorPhotoURL has been stored in the array of requests or not, the returned JSON seems to have all of these three variables.

{
"DonorCitizenID": "1000000000000",
"DonorPrefix": "คุณ",
...
"UserID": 1,
"DonorPhotoURL": "/uploads/1465963777.png",
"DonorPhoto": {}
}

But when I tried return $donor, which is the object of the Donor, defined its value by the $donor = \App\Donor::create($requests->all());, the value of UserID and DonorPhotoURL is NOT stored, but the DonorPrefix does have the value of Mx. Here are the JSON for $donor:

{
"DonorCitizenID": "1000000000000",
"DonorPrefix": "คุณ",
...
"updated_at": "2016-06-15 04:16:47.000",
"created_at": "2016-06-15 04:16:47.000",
"DonorID": 39
}

(The ... represents some data omnitted for cleaner snippet)

I am sure the database itself has the column name of DonorPhotoURL and UserID, but it doesn't still store the values.

  • 写回答

1条回答 默认 最新

  • douguo6472 2016-06-15 05:02
    关注

    Make sure your App\Donor model has the field in $fillable in order for mass assignment to work.

    评论

报告相同问题?

悬赏问题

  • ¥60 许可证msc licensing软件报错显示已有相同版本软件,但是下一步显示无法读取日志目录。
  • ¥15 Attention is all you need 的代码运行
  • ¥15 一个服务器已经有一个系统了如果用usb再装一个系统,原来的系统会被覆盖掉吗
  • ¥15 使用esm_msa1_t12_100M_UR50S蛋白质语言模型进行零样本预测时,终端显示出了sequence handled的进度条,但是并不出结果就自动终止回到命令提示行了是怎么回事:
  • ¥15 前置放大电路与功率放大电路相连放大倍数出现问题
  • ¥30 关于<main>标签页面跳转的问题
  • ¥80 部署运行web自动化项目
  • ¥15 腾讯云如何建立同一个项目中物模型之间的联系
  • ¥30 VMware 云桌面水印如何添加
  • ¥15 用ns3仿真出5G核心网网元