2017-07-09 88 views
0

控制器註冊方法註冊:創建具有超薄和雄辯

public function register($request, $response) 
{  
$user = User::create([ 
    'username'=> $request->getParsedBody()['username'], 
    'password'=> $request->getParsedBody()['password'], 
    'nama'=> $request->getParsedBody()['nama'], 
    'no_hp'=> $request->getParsedBody()['no_hp'], 
    ]); 

return $response->withJson([ 
    'succes' =>true , 
    'message'=>'Pendaftaran Berhasil', 
    'data' => $user 
    ]); 
} 

用戶模型代碼:

<?php 
namespace App\models; 
use Illuminate\Database\Eloquent\Model; 
class User extends Model 
{ 
    public $timestamps = false; 
    protected $fillable = ['username', 'password', 'nama', 'no_hp']; 
    protected $table = "users"; 
} 

我怎麼可以檢查用戶名已在數據庫中存在?

我用纖細和雄辯

+0

'User :: where('username',$ username) - > count()== 0'? – Bytewave

+0

哪部分我需要更改該代碼兄弟? –

+0

在創建用戶模型之前,請檢查** if **具有相同用戶名的用戶數量是否爲0.如果是,請創建用戶模型。如果不是,則拋出一個錯誤。如果您使用某種驗證庫,您可能希望使用自定義驗證程序規則執行此操作,但這取決於您。 SO不完全是代碼寫入服務。 – Bytewave

回答

0

雄辯允許您使用->count()方法上的查詢生成器運行SELECT COUNT(*)查詢。要驗證沒有用戶具有相同的用戶名,可以使用類似於:

if (User::where('username', $username)->count() == 0) { 
    // register the new user 
} else { 
    // throw an error 
}