dousui7410 2016-02-28 06:38
浏览 97
已采纳

如何使用Laravel 5.2在eloquent create方法中自动包含Request() - > ip()中的客户端IP地址?

I have this set of eloquent model:

    class UserModel extends Model
    {
        protected $fillable = array(
                'first_name',
                'last_name',
                'email',
                'password',
                'ip',
            );

        protected $table = 'users';
    }

The idea is... I want to include the ip address of the client whenever he/she register as user on our site.

In Laravel 5.2, we can retrieve the client ip address using the Request() class

Request()->ip()

https://laravel.com/api/5.2/Illuminate/Http/Request.html#method_ip

When creating a user record using eloquent model, I use the create() method so I don't have to do the work around for us in assigning values of each field EXCEPT for the 'IP' field.

Is there any ways to automatically assigned the 'IP' field from UserModel with the value coming from Request()->ip() method?

public function createNewUser(Request $request) {

    return  $this->user->create($request->all());
}

Any suggestions/feedbacks would be appreciated.

Thanks!

  • 写回答

2条回答 默认 最新

  • douci1851 2016-02-28 06:55
    关注

    How about something like this:

    public function createNewUser(Request $request) {
    
        $requestArr = $request->all();
        $requestArr['ip'] = $request()->ip();
        return  $this->user->create($requestArr);
    }
    

    OR

    public function createNewUser(Request $request) {
    
        return  $this->user->create(array_push($request->all(), array('ip' => $request()->ip())));
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 win10权限管理,限制普通用户使用删除功能
  • ¥15 minnio内存占用过大,内存没被回收(Windows环境)
  • ¥65 抖音咸鱼付款链接转码支付宝
  • ¥15 ubuntu22.04上安装ursim-3.15.8.106339遇到的问题
  • ¥15 求螺旋焊缝的图像处理
  • ¥15 blast算法(相关搜索:数据库)
  • ¥15 请问有人会紧聚焦相关的matlab知识嘛?
  • ¥15 网络通信安全解决方案
  • ¥50 yalmip+Gurobi
  • ¥20 win10修改放大文本以及缩放与布局后蓝屏无法正常进入桌面