我试图从用户输入作为表名,字段列表及其类型(整数或文本)并将其保存在表中,然后使用该输入动态创建表 .
我可以向你保证,你需要选择一种更新的工作方式,如果你打算与Laravel合作,那么你需要与Eloquent模特一起工作 . 如果可以,您可以与我们分享这个想法,我们可以帮助您完善逻辑 . 您应该学习使用一个表并找到分隔条目的方法 .
但是你想要做的是可以实现的:
Illuminate\Support\Facades\Schema::create('table_name', function (Blueprint $table) { $table->increments('id'); $table->integer('driver_id')->unsigned(); $table->boolean('read_status')->default(false); $table->timestamps(); $table->foreign('driver_id') ->references('id')->on('drivers') ->onDelete('cascade'); });
像这样的东西,你应该自定义它
使用 Illuminate/Database/Schema/Builder 类和create方法将新表添加到数据库:
Illuminate/Database/Schema/Builder
DB::connection('mysql')->getSchemaBuilder()->create(request()->input('table'));
然后使用table方法修改表 .
当然,您可以随时运行raw queries,但在接受使用输入时会带来风险 .
2 回答
我可以向你保证,你需要选择一种更新的工作方式,如果你打算与Laravel合作,那么你需要与Eloquent模特一起工作 . 如果可以,您可以与我们分享这个想法,我们可以帮助您完善逻辑 . 您应该学习使用一个表并找到分隔条目的方法 .
但是你想要做的是可以实现的:
像这样的东西,你应该自定义它
使用
Illuminate/Database/Schema/Builder
类和create方法将新表添加到数据库:然后使用table方法修改表 .
当然,您可以随时运行raw queries,但在接受使用输入时会带来风险 .