小编MrE*_*ers的帖子

Laravel / Eloquent - 列名称作为变量

Eloquent 提供了一种将内容传递到数据库的便捷方法

$table_name = new TableName;
$table_name->column_name = "some data";
$table_name->save();
Run Code Online (Sandbox Code Playgroud)

我从需要验证的表单中获得了大量数据,所以我想知道是否可以用变量替换列名,这样我可以将其放入某个循环中,并获取名称和数据来自数组。

$table_name->$columns[$i] = $data[$i];
Run Code Online (Sandbox Code Playgroud)

(虽然我想不是这样写的)

更新

最后我选择了以下内容:

$table_name = new TableName;
$nameArray=[
  1 => 'form-name-1',
  ...
];
$columnArray=[
  1 => 'column_name_1',
  ...
];

for($i=1;$i<=count($nameArray);$i++){
  if(logic logic logic) $table_name->{$columnArray[$i]} = $_POST[$nameArray[$i]];
  else $table_name->{$columnArray[$i]} = NULL;
}
$table_name->save();
Run Code Online (Sandbox Code Playgroud)

php laravel eloquent

2
推荐指数
1
解决办法
6747
查看次数

标签 统计

eloquent ×1

laravel ×1

php ×1