首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >与laravel数据库表有关的问题

与laravel数据库表有关的问题
EN

Stack Overflow用户
提问于 2013-03-31 10:15:51
回答 2查看 3.5K关注 0票数 1

我正在用laravel制作登记系统。当用户输入数据时,我将其存储在数据库中。但是当用户单击“注册”按钮时,它会给出以下错误--未处理的异常

代码语言:javascript
复制
Message:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'makeitsnappy.user' doesn't exist

SQL: SELECT COUNT(*) AS `aggregate` FROM `user` WHERE `username` = ?

Bindings: array (
  0 => 'asdasd',
)
Location:

/Applications/MAMP/htdocs/laravel-test/laravel/database/connection.php on line 264

当我将表的名称更改为"user“时,表示未处理的异常

代码语言:javascript
复制
Message:

SQLSTATE[42S02]: Base table or view not found: 1146 Table 'makeitsnappy.users' doesn't exist

SQL: INSERT INTO `users` (`username`, `password`, `updated_at`, `created_at`) VALUES (?, ?, ?, ?)

Bindings: array (
  0 => 'zafar',
  1 => '$2a$08$Xg47q9n65GZSS/l3xgYTyeTC7eICqMimf6KkvdFwSfiOgpFrI0tKe',
  2 => '2013-03-31 09:22:48',
  3 => '2013-03-31 09:22:48',
)
Location:

/Applications/MAMP/htdocs/laravel-test/laravel/database/connection.php on line 264

我该如何解决这个问题?

更新代码

这是我的模特

user.php

代码语言:javascript
复制
class User extends Basemodel {
    public static $table = 'users';

    public static $rules = array(
        'username'=>'required|unique:user|alpha_dash|min:4',
        'password'=>'required|alpha_num|between:4,8|confirmed',
        'password_confirmation'=>'required|alpha_num|between:4,8'
    );
}

Basemodel.php

代码语言:javascript
复制
class Basemodel extends Eloquent {
    public static function validate($data) {
        return Validator::make($data, static::$rules);
    }
}

这是我的users.php控制器

代码语言:javascript
复制
class Users_Controller extends Base_Controller {
    public $restful = true;

    public function get_new() {
        return View::make('users.new')->with('title', 'Make it Snappy - Register');
    }

    public function post_create() {
        $validation = User::validate(Input::all());

        if($validation->passes()) {
            User::create(array(
                    'username' => Input::get('username'),
                    'password' => Hash::make(Input::get('password'))
                ));

            return Redirect::to_route('home')->with('message', 'Thanks for registring');
        } else {
            return Redirect::to_route('register')->with_errors($validation)->with_input();
        }
    }
}
EN

回答 2

Stack Overflow用户

发布于 2013-11-12 01:45:52

刚刚经历过这个问题,我可以确切地告诉你它是什么。重复检查您的“唯一:”验证约束。

上面唯一的约束写着“用户”,所以laravel的Validator正在寻找表来完成它的验证。

把它改成“用户”,瞧!问题解决了。

票数 2
EN

Stack Overflow用户

发布于 2013-04-05 12:44:26

错误消息说没有表"makeitsnappy“,所以这似乎来自于你在这里发布的代码。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/15728417

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档