2017-04-20 3 views
0

Users 모델에서 특정 열만 받아 들일 수 있습니까?Laravel Eloquent 모델이 특정 매개 변수 만 전달합니다.

Users 모델에서 사용자 이름, 전자 메일 및 암호를 전달하면 마치 사용자 이름과 암호 만 허용하도록 필터링됩니다.

protected $fillable = ['username','password'];을 채우려고했지만 제대로 작동하지 않는 것 같습니다.

+0

을에 어떤 문제가 당신? 오류를 보여줄 수 있습니까? – Jusfunny

+0

당신은 당신의 모델에'protected $ guarded = [];'를 가지고 있습니까 ?? –

답변

0

이는 데이터베이스의 사용자 모델에 대한 스키마에 따라 다릅니다. laravel에 포함 된 users 테이블 용 마이그레이션 파일이 있으며 php artisan migrate를 실행 한 경우 데이터베이스에 있어야합니다. 여기 Laravel 함께 제공 (/ 데이터베이스/마이그레이션에 있음) 마이그레이션 파일의 일부입니다

Schema::create('users', function (Blueprint $table) { 
     $table->increments('id'); 
     $table->string('name'); 
     $table->string('email')->unique(); 
     $table->string('password'); 
     $table->rememberToken(); 
     $table->timestamps(); 
    }); 

당신은 기본적으로 채울 수있는 세 개의 열이있는 것을 볼 수 있고, 당신이 경우 여기에 더 추가 할 수 있습니다 원했어. PHP 작업을 수행해야하지만 마이그레이션 파일을 변경하기 전에 롤백 한 다음 php artisan migrate를 다시 실행하십시오. (https://laravel.com/docs/5.4/migrations)

는 보호 된 $의 작성 가능한 배열은 특성이 대량 할당 될 수있는 (https://laravel.com/docs/5.4/eloquent#mass-assignment)를 선택 그래서 당신이 정적을 사용하려면이 같은 방법을 만들 경우 이러한 필요합니다

User::create(['name' => 'John Doe', 'email' => '[email protected], 'password' => bcrypt('password')]);