MrE*_*ers 2 php 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)
您可以执行以下操作之一:
1)创造价值
$table_name = new TableName([
"column_name" => "column_value"
]);
Run Code Online (Sandbox Code Playgroud)
2) 填充
$table_name = new TableName();
$table_name->fill([
"column_name" => "column_value"
]);
Run Code Online (Sandbox Code Playgroud)
3)你最初建议的方式:
$valuesMap = [
"column_name" => "column_value"
];
$table_name = new TableName();
foreach ($valuesMap as $column => $value) {
$table_name->{$column} = $value; //The {} are optional in this case
}
Run Code Online (Sandbox Code Playgroud)
请注意,要执行 1 或 2 项操作,放入数组中的所有字段都必须可填充且不受保护。
归档时间: |
|
查看次数: |
6747 次 |
最近记录: |