首页 > 解决方案 > 如何在 Laravel 之外使用 Eloquent 创建表查询?

问题描述

我们正在为我们正在开发的应用程序使用没有 Laravel 的Eloquent(长话短说),一切正常,但在尝试从应用程序内动态创建表格时遇到了一个小障碍。

该应用程序基本上是一个工单跟踪和管理系统,每次提交用户端表单时,都会在我们的tickets表格中创建一个条目,其字段为uuid. 此字段对应于具有相同 uuid 名称的表(f46ffeec091c4b9d9f406d65a50ab9e6例如 )。数据库中的该表具有更完整的详细信息和与工单相关的更多字段。

我现在尝试了很多不同的变体,但是任何时候我尝试运行类似的东西

Capsule::query("CREATE TABLE `$uuid` LIKE `tickettable`");

我们得到了成功的返回(嗯——至少没有错误),但实际上并没有创建表。我们已经尝试使用定义的类名而不是Capsule,使用Schema,在另一个类(ClassName::query(...);)中运行它,$table = new Class(); $table->query(...);......似乎没有任何工作。

运行类似Schema::create($uuid, function(Blueprint $table){...});完全失败的东西。

跑步Capsule似乎是最接近工作的方式,但仍然没有骰子。有什么想法吗?

标签: phpmysqleloquent

解决方案


用这个:

Capsule::schema()->create($uuid, function(Blueprint $table) {
    [...]
});

推荐阅读