拥有 键&值 即可。密钥名称是相同的数据库列名称。
索引中的键总数大于50.
因此,无法逐个保存数据,如
$user = new User;
$user->name = 'John';
..........
.......
.......so on
$user->save();
示例数组:
Array ( [name] => 'Amit', [age] => 25, [field1] => 'val1', .... [field33] => 'how' , .... [field54] => 'sumit' )
现在,我的问题是如何使用最简单的流程在模型中保存数据。
$Plan=new Plans;
$Plan->fill( $array);
$Plan->save();
注意: 我知道填充不起作用,因为它未在该模型的可填充变量中定义
答案 0 :(得分:3)
<script>
$( "#form" ).validate({
rules: {
phone: {
require_from_group: [1, ".form-group"]
},
email: {
require_from_group: [1, ".form-group"]
}
}
});
</script>
模型封装了对象的属性。因此,您只能通过Eloquent
(set
)或$model->attribute
方法更改/设置它们。大量分配属性的所有Eloquent方法都使用方法fill(array $attributes)
。
因此,有两种方法可以在数据库中插入带有数组的新的基于Eloquent的模型,一种使用fill()
方法,另一种使用“{1}}方法。
将属性fill()
添加到模型中。然后你可以像这样使用质量分配。
protected $fillable = [ 'column_a', 'column_b', .. ];
或者您可以使用:
$Plan = new Plans;
$Plan->fill( $array );
$Plan->save();
如果您没有在$plan = Plans::create( $array );
和boot
上注册任何creating
方法(数据库不会触发这些),那么您也可以使用{{1在数据库中插入行。
created
答案 1 :(得分:2)
我不明白为什么你不想在模型的$fillable
属性中定义数据库列/数组键,因为它只是一次性任务然后你就可以这样做只是:
$plan = Plans::create( $array );
另一种方法是,如果你有一个关联数组中的所有数据,其中的键与数据库表中的列匹配,你可以使用foreach循环:
$plan = new Plans;
foreach( $array as $key => $value )
{
$plan->$key = $value;
}
$plan->save();