php - Laravel 使用原始字符串创建表

标签 php mysql laravel laravel-5 laravel-5.5

如何在 Laravel 5.5 中使用原始数据库字符串创建新表

$createTableSqlString =
  "CREATE TABLE $newTableName (
      product_id INT(11) NOT NULL AUTO_INCREMENT,
      ...
    )
    COLLATE='utf8_general_ci'
    ENGINE=InnoDB
    AUTO_INCREMENT=1;";

我知道有一个 Illuminate\Support\Facades\Schema 用于制作新表,

Schema::connection('mysqlInvsys')->create(...);

但是我应该如何定义或给它原始字符串 DB::raw($createTableSqlString) ?我没有在 official doc 中找到任何示例.

最佳答案

Laravel 提供了运行原始 SQL 查询的函数,如图所示 here .

对于表的创建,可以使用DB::statement($createTableSqlString)

关于php - Laravel 使用原始字符串创建表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50154249/

相关文章:

php - Laravel 动态数据填充在 Bootstrap 模式中

mysql - 当 mysql 数据库是 utf8 时,使用 addslashes() 是否仍然有用?

mysql - 如何对查询结果按降序排序进行分页

php - Laravel 5 Schedular 与 Indatus 调度程序

Laravel Project Multi-Tenancy 、多库、一域

php - 如何在 Joomla 安装期间自动启用插件?

php - 如何从网页中提取有意义有用的内容?

php - 关于使用 laravel 与多个模型/MySQL 表的问题

php - 相同的功能,不同的代码——重构一团糟

基于非唯一列的mysql不同查询