我是laravel的新手。我想将管理员凭据插入数据库。
public function verify() {
$username = Input::get('username');
$password = Input::get('password');
if (!Admin::count()) {
$user = new Admin;
$user->username = Input::get('username');
$user->password = $user->password = Hash::make(Input::get('password'));
$user->save();
return Redirect::to('/admin/login');
} else {
if (Auth::attempt(array('username' => $username, 'password' => $password))) {
echo("i m in if");
if (Session::has('pre_admin_login_url')) {
$url = Session::get('pre_admin_login_url');
Session::forget('pre_admin_login_url');
return Redirect::to($url);
} else {
$admin = Admin::where('username', 'like', '%' . $username . '%')->first();
Session::put('admin_id', $admin->id);
return Redirect::to('/admin/report')->with('notify', 'installation Notification');
}
} else {
return Redirect::to('/admin/login?error=1');
}
}
管理模式:
use Illuminate\Auth\UserTrait;
use Illuminate\Auth\UserInterface;
use Illuminate\Auth\Reminders\RemindableTrait;
use Illuminate\Auth\Reminders\RemindableInterface;
class Admin extends Eloquent implements UserInterface, RemindableInterface {
use UserTrait, RemindableTrait;
/**
* The database table used by the model.
*
* @var string
*/
protected $table = 'admin';
/**
* The attributes excluded from the model's JSON form.
*
* @var array
*/
protected $hidden = array('password', 'remember_token');
我已将数据库更改为默认值为' null'但它仍然给出了相同的错误。这是由代码峡谷构建的应用程序,我还不知道它们存在的文件的查询参数。
结果:SQLSTATE [HY000]:常规错误:1364字段' remember_token' 没有默认值(SQL:插入
admin
(username
,password
,updated_at
,created_at
)的值(管理员@ taxinow.com,Y $ csyEcrhERoQEszmxNmiOG.bcAZtwC8xeGiF2xyKTd2YLhEbjixm.m,2017年9月21日 08:34:24,2017-09-21 08:34:24))
任何帮助将不胜感激。感谢。
答案 0 :(得分:3)
我在我的应用程序上解决了这个问题,我希望你尝试相同的.. 转到users表并编辑remember_token字段,将默认列更新为NULL。
完成后,尝试再次运行应用程序,这次应该可以正常运行。但是,如果您使用迁移来更新数据库模式(字段/属性),则可以通过将此nullable()添加到remember_token字符串来回滚并对该列进行此调整...
<button id="btn">Drag Me</button>
我希望这会有所帮助。
的问候。
答案 1 :(得分:0)
转到管理模型并将其作为数组添加到 $protected
可填充
protected $fillable = [
'user_name','remember_token',
];