【问题标题】:Add new column dynamically in table mySQL with Laravel使用 Laravel 在表 mySQL 中动态添加新列
【发布时间】:2021-11-01 15:19:35
【问题描述】:

我的程序中有一个传感器列表表单。在那里,用户可以进行 CRUD。 如何当用户输入新的传感器数据时,新数据自动在我的数据库的表中创建一个新列(自动alter table)

public function store(Request $request){
   $data = new Mst_sensor();
   $arr = array_merge($arr, ['created_by' => Auth::user()->userid, 'created_at' => date('Y-m-d H:i:s')]);
   $data->create($arr);
   

   $sensor= new Trs_sensor_d;
   $table = $sensor->getTable();
   $columns = \DB::getSchemaBuilder()->getColumnListing($table);
        
   $data_field = [];
   foreach ($columns as $k => $v) {
      $data_field[$k] = $v;
   }
   $removed = array_pop($data_field);
   $fix_data_field = end($data_field);

   $q = "ALTER TABLE `trs_raw_d_gpa` ADD `coba` VARCHAR(25) NULL AFTER '" . $fix_data_field . "'";
}

alter table如何自动运行???

【问题讨论】:

  • 如果您更改架构以响应用户输入,则表明您的架构设计存在严重缺陷。

标签: php mysql laravel laravel-5


【解决方案1】:

考虑如何设计数据库,使用户无法更改结构。 不推荐你想做的。

【讨论】:

  • 正如目前所写,您的答案尚不清楚。请edit 添加其他详细信息,以帮助其他人了解这如何解决所提出的问题。你可以找到更多关于如何写好答案的信息in the help center
猜你喜欢
  • 2013-03-27
  • 1970-01-01
  • 2018-12-24
  • 2016-06-27
  • 1970-01-01
  • 2014-12-12
  • 1970-01-01
  • 2019-11-18
  • 1970-01-01
相关资源
最近更新 更多