2016-01-07 17 views
6

Użyłem nową funkcję w laravel:laravel 5,2 auth zmiana tabeli „użytkownicy”

php artisan make:auth 

Ale kiedy zarejestrować go użyje tabeli bazy danych users domyślnie, ale chcę to zmienić do innej tabeli . I domyślnie używa updated_at i created_at w tej tabeli, chcę to również usunąć.

Auth/AuthController

protected function create(array $data) 
{ 
    return User::create([ 
     'voornaam' => $data['voornaam'], 
     'email' => $data['email'], 
     'password' => bcrypt($data['password']), 
    ]); 
} 

app \ User

protected $fillable = [ 
    'voornaam', 'email', 'password', 
]; 

To są rzeczy, myślałem, że to zmieni, ale nie zrobili tego. Mam nadzieję, że ktoś może mi powiedzieć coś więcej na ten temat.

Odpowiedz

7

Aby zmienić nazwę tabeli przejść do app/User.php i ustawić właściwość $table zwyczaju jednym na przykład:

$table = 'new_table'; 

Należy również zmienić domyślny migracji. Przejdź do: /database/migrations/2014_10_12_000000_create_users_table.php plik i zmień tutaj users dla tej samej nazwy. Aby usunąć znaczniki czasu można usunąć linię:

$table->timestamps(); 

jednak gdybym był tobą chciałbym rozważyć usunięcie tych znaczników czasu

+0

Mam nadzieję, że również o tym wiesz: http://stackoverflow.com/questions/34673901/laravel-5-2-auth-change-id-to-customer-id – Draity

5

NIE zapomnij zmienić walidacji w REGISTERCONTOLLER.PHP TAKŻE.

z

'email' => 'required|email|max:255|unique:users', 

do

'email' => 'required|email|max:255|unique:company', 
0

zobacz Laravel 5.3 Change user table in Auth alternatywnego rozwiązania, stosując modyfikację konfiguracji/auth.php i RegisterController.php.

Aby wyłączyć timestampów można również używać w klasie modelu:

public $timestamps = false; 
2

Domyślnie modelu wziąć swoją nazwę klasy jako nazwa tabeli!
zdefiniować chronionego mienia na szczycie App/User.php

protected $table = 'auth_users'; 

Mówi laravel używać auth_users tabeli zamiast domyślnej user tabeli. i działa jak urok.

Powiązane problemy