【问题标题】:laravel mass assignment setting not workinglaravel 质量分配设置不起作用
【发布时间】:2014-12-29 01:14:21
【问题描述】:

当我将用户信息插入我的应用程序时,我使用以下代码:

$userId = Auth::user()->user_id;

$newUserInfo = UserInfo::create([
            'u_info_id' => $userId,
            'u_first_name' => Input::get('u_first_name'),
            'u_last_name' => Input::get('u_last_name'),
            'u_phone_number' => Input::get('u_phone_number'),
            'u_address' => Input::get('u_address'),
            'u_state_id' => Input::get('u_state_id'),
            'u_city_id' => Input::get('u_city_id'),
            'u_zip' => Input::get('u_zip')
        ]);

但我不能这样做'u_info_id' => $userId,因为这将迫使我使 u_info_id 可填写以进行批量分配。

所以我的问题是,我如何使用'u_info_id' => $userId 而不使 u_info_id 可填充以进行批量分配。我不希望用户能够编辑 u_info_id。该字段应插入后端。

或者,我在使用 laravel ->fill() 时只需要设置可填充质量分配吗?

【问题讨论】:

  • 你的 UserInfo 模型是什么样的?

标签: php security laravel mass-assignment


【解决方案1】:

我是这样解决的:

//验证输入

$newUserInfo = new UserInfo();

        $newUserInfo->u_info_id = $userId;
        $newUserInfo->u_first_name = Input::get('u_first_name');
        $newUserInfo->u_last_name = Input::get('u_last_name');
        $newUserInfo->u_phone_number = Input::get('u_phone_number');
        $newUserInfo->u_address = Input::get('u_address');
        $newUserInfo->u_state_id = Input::get('u_state_id');
        $newUserInfo->u_city_id = Input::get('u_city_id');
        $newUserInfo->u_zip = Input::get('u_zip');

        $newUserInfo->save();

【讨论】:

  • 您也可以使用您的 UserInfo 模型更新您的问题。我确定这是因为所述模型没有$fillable 变量。
  • 我的模型(使用)将“u_info_id”作为可填充的。现在它没有。 u_info_id 也是主键,递增设置为 FALSE @RichardA
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-05-11
  • 1970-01-01
  • 2020-10-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多