该错误的原因是什么?在注册时更改默认代码后,就会发生这种情况。请带我
SQLSTATE[HY000]: General error: 1364 Field 'img' doesn't have a default value (SQL: insert into `users` (`username`, `password`, `role`, `updated_at`, `created_at`) values (aaaaaaa, .....G, user, 2019-01-14 16:40:05, 2019-01-14 16:40:05))
protected function validator(array $data)
{
return Validator::make($data, [
'username' => 'required|string|check_username|max:255|unique_username',
'password' => 'required|string|min:6',
'captcha'=>'required|captcha'
],[],[
'username'=>'user',
'password'=>'pass',
'captcha'=>'cap',
'img'=>'profile',
'fnamelname'=>'fnamelname',
]);
}
protected function create(array $data)
{
return User::create([
'username' => $data['username'],
'password' => bcrypt($data['password']),
'role'=>'user'
]);
}
答案 0 :(得分:0)
public class MainActivity extends Activity{
private int mCurrentIndex = 0;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//Apps logic.
}
public onCurrentIndexValueChange(){
button.setClickable(true);
}
}
答案 1 :(得分:0)
尝试一下:
public function up()
{
Schema::create('users', function (Blueprint $table) {
$table->increments('id');
$table->string('username')->unique();
$table->string('password');
$table->string('img')->default(1);
$table->string('fnamelname');
$table->string('role');
$table->rememberToken();
$table->timestamps();
});
}
编辑:
这是一个更好的版本
$table->string('img')->nullable();
答案 2 :(得分:0)
如果img
字段是可选的,则您的数据模型应清楚地反映出该意图。
在您的迁移中:
$table->string('img')->nullable();
会将此列设置为可为空,因此您可以创建记录而无需显式设置值。
请参见https://laravel.com/docs/5.0/schema#adding-columns
此外,最好使用BLOB类型而不是字符串来存储图像等二进制内容。但这是另一个话题。