上一篇文章Ruby 程序員學習 laravel 框架筆記 (5)-簡單的用戶認證講到了laravel自己集成了登陸和註冊的功能,雖然這個功能已經很不錯了,但有時候仍是要根據本身的需求改改。php
好比,用戶名,咱們要改爲首字母大寫的,好比,用戶輸入hfpp2012
,存到數據庫的時候,咱們要自動變成Hfpp2012
。laravel
如今咱們來實現一下。程序員
首字母大寫仍是很簡單的,一個函數便可,就是ucfirst
。數據庫
咱們找到註冊相關的controller。ruby
找到app/Http/Controllers/Auth/RegisterController.php
文件。app
把下面的這一段改一下:框架
protected function create(array $data) { return User::create([ 'name' => $data['name'], 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); }
改爲函數
protected function create(array $data) { return User::create([ 'name' => ucfirst($data['name']), 'email' => $data['email'], 'password' => bcrypt($data['password']), ]); }
這樣就能夠了,再去註冊一個用戶,應該變成了大寫的首字母。學習
查看一下數據庫,果真。this
就像ruby那樣,這種代碼咱們通常不會放在controller中的,咱們儘可能地保持controller小,而model胖一些。
因此咱們去掉剛纔的改動,找到User這個model,便是app/User.php
這個文件。
咱們加入下面的方法:
public function setNameAttribute($value) { $this->attributes['name'] = ucfirst($value); }
你會發現效果同樣的。
完結。