2017-07-09 42 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 
}