[英]How to fetch record from table based on post ip address in laravel using eloquent ORM
[英]How to automatically include client ip address from Request()->ip() in eloquent create method using Laravel 5.2?
我有這套雄辯的模型:
class UserModel extends Model
{
protected $fillable = array(
'first_name',
'last_name',
'email',
'password',
'ip',
);
protected $table = 'users';
}
這個想法是...每當我/她在我們的網站上注冊為用戶時,我都希望包括客戶端的IP地址。
在Laravel 5.2中,我們可以使用Request()類檢索客戶端IP地址。
申請() - > IP()
https://laravel.com/api/5.2/Illuminate/Http/Request.html#method_ip
當使用雄辯的模型創建用戶記錄時,我使用create()方法,因此不必為“ IP”字段分配每個字段的值,而不必為我們做任何工作。
有什么方法可以自動分配UserModel中的“ IP”字段,其值來自Request()-> ip()方法?
public function createNewUser(Request $request) {
return $this->user->create($request->all());
}
任何建議/反饋將不勝感激。
謝謝!
這樣的事情怎么樣:
public function createNewUser(Request $request) {
$requestArr = $request->all();
$requestArr['ip'] = $request()->ip();
return $this->user->create($requestArr);
}
要么
public function createNewUser(Request $request) {
return $this->user->create(array_push($request->all(), array('ip' => $request()->ip())));
}
在網絡上進行一些挖掘之后,我找到了執行此操作的肯定方法。
public function createNewUser(Request $request) {
$request->request->add(['ip' => $request->ip()]);
return $this->user->create($request->all());
}
@AlexeyMezenin提供的答案也可以以某種方式起作用,但是您必須做一些額外的代碼才能使其起作用。 不管怎么說,還是要謝謝你。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.