根据用户输入在 Laravel 中创建新表?

2024-04-15

我正在尝试根据 Laravel 框架中的用户输入创建新的 mysql 表。

用户提交一个在控制器中处理的表单,保存表单数据,然后根据用户的输入创建一个新表(以便稍后接收数据)。

在 Laravel 中,可以使用 schema::create() 创建表

Schema::create('newtablename', function($table){
    $table->increments('id')->unique(); //primary key
    $table->string('columnname');
    etc.
});

本质上我想这样做,除了基于用户输入的表名和列名:

用户输入是一个多维数组,如下所示:

    $newtableschema = array(
             'tablename' => 'tablename',
             'colnames' => array('One', 'Two', 'Three', 'Four');
          );

    Schema::create($newtableschema['tablename'], function($table){
        $table->increments('id')->unique(); //primary key        

        foreach($newtableschema['colnames'] as $col){
            $table->text($col);
        }
        etc.
    });

我得到的错误是变量未定义。我不知道如何将用户的输入提供给 schema::create 方法。

我在文档中找不到任何以这种方式创建表的方法,或者在我过去 3 个小时的谷歌搜索中找不到任何类似的方法。雄辩的语法有时让我感到困惑,所以也许我遗漏了一些明显的东西。

有任何想法吗?或者是否有替代的纯 php/sql 来完成此任务?

非常感谢

编辑:我很抱歉,我之前在示例代码中犯了一个拼写错误。我的问题是我不知道如何传递我想要的变量 schema::create()


您可以使用use($newtableschema)将变量传递到closure:

Schema::create($newtableschema['tablename'], function($table) use($newtableschema) {

    // So now you can access the $newtableschema variable here
    // Rest of your code...
});
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

根据用户输入在 Laravel 中创建新表? 的相关文章

  • Ubuntu 18.04:laravel/framework v6.9.0 需要 ext-mbstring * -> 您的系统中缺少请求的 PHP 扩展 mbstring

    在有人将其记下来进行复制之前 我检查了其他页面 但它们没有帮助 我正在尝试在 PHP 7 2 上安装 Laravel 6 的软件包 我也尝试过 PHP 7 4 不幸的是 我收到以下错误 laravel framework v6 9 0 re
  • php 解码 JSON 获取值

    我正在尝试解码 JSON 格式 我要发送的是 id 123 name John surname Smith department 3 我正在通过 Postman 发送带有数据的 POST 如图所示 所以 这是我想要解码的数据 data se
  • 使用 JavaScript 或 PHP 自动检测用户当前本地时间

    我经常需要根据用户的信息或受用户的影响来显示信息actual本地时间因时区而异 是否有可靠的方法来获取用户的当前时间和 或时区 关键的问题 服务器端代码基于网站主机或用户的ISP 客户端代码基于用户的系统时钟 太容易被操纵 关键问题 是否有
  • PHP imap_search:Microsoft Exchange 邮件服务器上的 UTF-8/非 ASCII 字符

    我想从以下位置获取电子邮件outlook office365 com使用 IMAP 和 PHP 由于大多数电子邮件包含非 ASCII 字符 例如 I use UTF 8 in my imap search 功能 imap search mb
  • 学说和大量数据

    我有一个返回约 50k 行的查询 似乎学说将整个结果放入内存中超出了内存限制 128M 我发现节省一些内存的唯一解决方案是 result gt execute array Doctrine Core HYDRATE NONE 但还是超出了极
  • 什么是克朗?我该如何使用这个? [关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions http
  • 在 PHP 中使用消息队列与普通 Cron 作业之间的区别

    我们有一个基于 PHP 构建的大型 Web 应用程序 该应用程序允许安排推文和墙贴 并且有从服务器发出的预定电子邮件 我所说的 计划 是指这些 PHP 脚本计划在特定时间运行cron 大约有 7 个 PHP 文件可以完成上述工作 我一直听说
  • PHP foreach 和 glob() 函数

    PHP 版本 5 2 我的功能不起作用 服务器中的图像 位于文件夹 public html gallery images 有什么帮助吗 我做错了什么 我得到的错误是 警告 第 2 行 home a9773555 public html ga
  • PHP 按值对数组进行分组

    我有一个像这样的数组 Array 0 gt ing 1 ing 1 gt ing 1 amount 2 gt ing 1 det 3 gt ing 1 meas 4 gt ing 2 ing 5 gt ing 2 amount 6 gt i
  • Firemonkey 移动应用程序和远程 MySQL

    我正在使用 Delphi XE5 并且我已经创建了基本的 Firemonkey 移动应用程序 Delphi 我想连接到远程 MySQL 数据库 我应该使用哪一个数据库管道 FireDAC DBExpress 等 您可以使用标准 TSQLQu
  • PHP 内部的连接分解

    我看到一篇关于连接分解的文章 场景 1 不好 Select from tag Join tag post ON tag post tag id tag id Join post ON tag post post id post id Whe
  • 作曲家安装不断消耗所有 RAM 内存

    在我正在开发的 Symfony 2 7 项目中 我通过 Composer 1 6 5 使用了很多包 几天后我无法再添加新包或重建composer lock 它总是内存不足 当我尝试添加新包时 我开始注意到这个问题 但问题不在于那个包 因为作
  • 注册模式和注册对象的延迟实例化

    让我们想象一下我们有注册表模式
  • 通过字段名称以编程方式获取 ACF 字段键

    我需要在 WordPress 的高级自定义字段插件 ACF 中按字段名称获取字段键 该字段被分配给一个帖子 我正在帖子的循环中 我想使用字段名称以编程方式获取字段键 这样做的原因是因为我正在创建一个表单 其中字段名称 选项 将保持不变 但在
  • 如何删除 Laravel 5 中的帖子资源?

    Laravel 5 版本 我正在开发一个新的 laravel 5 版本的项目 由于某种原因 我无法删除帖子 当我按删除时 它只会将我重定向到帖子显示页面 其 id 例如 post 3 我得到一个空白的白色页面 当我返回索引视图时 我会看到所
  • 通过页面打开 mysql 连接是完全鲁莽的吗?

    当查询数据库时 是否会感到极度偏执 每次必须完成新查询时 我都会打开和关闭 mysql 连接 我担心 尤其是启用 ajax 的页面 这会导致性能大幅下降 我应该继续使用此方法 还是至少在每个页面 而不是每个查询 中打开和关闭连接一次 顺便说
  • 5 位 mt_rand() 数字有多唯一?

    我只是想知道 如果你画出 5 位数字 mt rand 数字有多独特 在示例中 我尝试使用此函数获取 500 个随机数的列表 其中一些是重复的 http www php net manual en function mt rand php h
  • PHP保存图像文件[重复]

    这个问题在这里已经有答案了 可能的重复 从 PHP URL 保存图像 https stackoverflow com questions 724391 saving image from php url using php 我有一个图像作为
  • PHP 5.5中的password_hash函数

    我有以下函数 可以对密码进行哈希处理并将其存储在数据库中 我正在尝试使用 php 5 5 中的password hash 函数 但它给了我奇怪的结果 function hashpass password include includes c
  • 如何在 Flex 中对 PHP 字符串使用换行符

    这是我的 MXML

随机推荐