Создать регистрацию с тонким и красноречивым

Метод регистрации контроллера:

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";
}

Как я могу проверить, если имя пользователя уже существует в базе данных?

Я пользуюсь стройным и красноречивым

1 ответ

Eloquent позволяет запускать SELECT COUNT(*) запросы с использованием ->count() метод на его построитель запросов. Чтобы убедиться, что нет пользователей с таким же именем, вы можете использовать что-то вроде:

if (User::where('username', $username)->count() == 0) {
    // register the new user
} else {
    // throw an error
}
Другие вопросы по тегам