当前位置: 首页 > 知识库问答 >
问题:

无法使用Eloquent动态创建新表

文彭祖
2023-03-14

我正在使用Eloquent和SlimPHP以及Capsule作为DB“Facade”。

现在我只是支持MySql,因为我需要动态创建表,所以我试图构建两个查询并运行它们。

DB::raw($create_table_statement);
DB::raw($add_keys_statement);

做的时候

var_dump($create_table_statement);
var_dump($add_keys_statement);

要查看查询是如何生成的,它们如下所示:

字符串(351)“如果不存在,则创建表`responses\\u 44`(`id`int(11)NOT NULL AUTO\\u INCREMENT,`field\\u 20`varchar(150),`field\\u 21`varchar(150),`created\\u at`timestamp NOT NULL DEFAULT CURRENT\\u timestamp`updated\\u'timestamp NOT NULL DEFAULT'0000-00-00:00:00',`form\\u`id`int(11)NOT NULL,主键(id))ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8\U unicode\U ci;”

字符串(158)“ALTER TABLE`responses`u 44`ADD KEY`form\u id`(`form\u id`),ADD CONSTRAINT`responses\u 44\u ibfk\u 1`外键(`form\u id`)引用`forms`(`id`);”

通过直接在MySql上测试查询,它们执行时不会出现错误,并且创建的表不会出现错误,但是当应用于DB::raw时,不会抛出错误,DB::getQueryLog()不会显示它们。

会发生什么事?

谢啦

共有1个答案

简景焕
2023-03-14
DB::statement($create_table_statement);

这就是你所需要的DB::raw不运行任何东西,它只是一个从不被生成器绑定的包装器,而是以原始形式传递给查询,而不转义任何内容。

您可以使用占位符,并通过绑定将第二个参数传递给语句方法。

 类似资料:
  • 我也用同样的结果尝试了这个视频中的建议。 最后一件事,我已经没有想法了:在Chrome开发者控制台,我看到创建失败,错误为400,这表明我需要更新白名单URL。我通过添加以下URL实现了这一点: 这个问题一直让我抓狂。我想我什么都试过了。让我想知道我是否需要在Firebase中重新创建我的应用程序。

  • 问题内容: 我刚刚将应用程序升级到1.7(实际上仍在尝试)。 这是我在models.py中拥有的: 当我尝试时,它抛出: 问题答案: 我不确定是否可以回答自己的问题,但我只是想出了(我认为)。 根据此错误报告,我编辑了代码: 然后,在字段定义中: 这对我有用。

  • 以下是我试图自动处理数据的网站:网站链接。我必须做到以下几点: 选择位置为维多利亚,然后选择区域为墨尔本。 选择制作为,比方说,阿巴斯。将重复其他制作。 我尝试过静态XPath,也尝试过用有限的知识创建动态XPath,但我仍然无法完成这项任务。 我使用python selenium和自动化谷歌chrome。 下面是我错误代码的快照,用于选择Abarth as make:

  • 问题内容: 我试图找到有关此信息,但空手而归: 我认为可以使用反射或代理在Java中动态创建类,但我不知道如何做。我正在实现一个简单的数据库框架,在其中使用反射创建SQL查询。该方法获取具有数据库字段作为参数的对象,并基于该对象创建查询。但是,如果我还可以动态创建对象本身,那将非常有用,这样我就不必为每个表都拥有一个简单的数据包装对象。 动态类只需要简单的字段(,,),例如 这可能吗,我该怎么做?

  • 因为类也是对象,所以我们可以在程序运行的时候创建类。 Python 是动态语言。 动态语言和静态语言最大的不同,就是函数和类的定义,不是编译时定义的,而是运行时动态创建的。 在之前,我们先了了解下 type() 函数。 首先我们新建一个 hello.py 的模块,然后定义一个 Hello 的 class , class Hello(object): def hello(self, name

  • 问题内容: 我希望更改为在我的Web应用程序中实现无状态Spring Security的目的是结束,但事实并非如此。 进行了此更改后,由于(根据我的假设)Spring安全性在会话中不存储任何内容,并且无法对安全的Web请求进行身份验证,因此Spring安全性似乎无法正常工作。 我如何利用此无状态功能? 我似乎尚未找到任何有关如何为无状态Web应用程序实现无状态Spring安全的示例。 谢谢 ! 问