我正在学习Laravel,并且有一个创建USERS表的工作迁移文件.作为迁移的一部分,我正在try 填充用户记录:

public function up()
{
    Schema::create('users', function($table){

        $table->increments('id');
        $table->string('email', 255);
        $table->string('password', 64);
        $table->boolean('verified');
        $table->string('token', 255);
        $table->timestamps();

        DB::table('users')->insert(
            array(
                'email' => 'name@domain.com',
                'verified' => true
            )
        );

    });
}

但我在运行php artisan migrate时遇到以下错误:

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

这显然是因为Artisan尚未创建表,但所有文档似乎都表明,在迁移过程中,有一种方法可以使用Fluent Query填充数据.

有人知道怎么做吗?谢谢

推荐答案

不要将DB::insert()放在Schema::create()中,因为create方法必须在插入内容之前完成表的创建.试试这个:

public function up()
{
    // Create the table
    Schema::create('users', function($table){
        $table->increments('id');
        $table->string('email', 255);
        $table->string('password', 64);
        $table->boolean('verified');
        $table->string('token', 255);
        $table->timestamps();
    });

    // Insert some stuff
    DB::table('users')->insert(
        array(
            'email' => 'name@domain.com',
            'verified' => true
        )
    );
}

Php相关问答推荐

在AJX请求中使用简写后,FormData出现非法调用错误

Laravel:启动下载并同时在Blade 中显示Flash消息

输入手写CSV时在PHP中进行日期判断

Symfony装置加载:try 从命名空间加载类";ClassUtils";Doctrine\Common\Util";

从WooCommerce购物车和 checkout 页面自定义发货标签

让所有具有相同名称的产品在WooCommerce中更改价格

WooCommerce:在 checkout 审核单和发票中显示定制产品数据

将客户重定向到自定义感谢页后的空白页

使用php创建表格和插入数据

在Laravel中从动态嵌套数组中获取值

Laravel服务Provider 没有向服务类注入价值

是否使用联系人表单7 wpcf7_Feedback_Response输出答复中的html?

WooCommerce中特定付款方式的变更订单预留库存时间

Symfony框架锁定和.env设置

PHP 数组中第一级 node 到 XML 的唯一名称

启用 WooCommerce 我的帐户付款方式,允许客户添加付款方式

使用 secure 和 httponly 选项删除 php 中的 cookie 值得吗?

产品页面自定义复选框可对 WooCommerce 购物车小计启用百分比折扣

如何在WooCommerce中为访客购买者分配自定义客户代码

正则表达式抓取递归括号的内容