【发布时间】:2019-03-16 14:29:39
【问题描述】:
我想用这些代码将数据保存到表中
create.blade.php
<div class="row">
<div class="col-md-4"></div>
<div class="form-group col-md-4">
<label for="Name"> City Name:</label>
<input type="text" class="form-control" name="city_name">
</div>
</div>
CityController.php
public function store(Request $request)
{
$options = array();
$options->city_name=$request->get('city_name');
$attributes =array('city_name');
$table = 'cities';
(new City())->store($table,$attributes,$options);
return redirect('cities')->with('success','Information has been inserted');
}
我的模型是 City.php
public function store($table,$attributes,$options)
{
(new Root())->store($table,$attributes,$options);
}
带有根模型Root.php
public function store($table ,$attributes, $options) {
$value = array();
foreach($attributes as $key=>$data)
{
$value[$data] = $options[$key];
}
DB::table($table)->insert($value);
}
但是当我在创建视图中按下提交按钮时给我
错误异常 (E_WARNING) 尝试分配非对象的属性“city_name”
我该如何解决这个问题?
【问题讨论】:
-
$options = array(); $options->city_name。您将$options初始化为一个数组,然后尝试将其用作一个对象。 -
你的意思是
$options = new stdClass;? -
这意味着模型没有范围
-
我如何在模型stackoverflow.com/users/5212418/vasim-shaikh上设置范围@
标签: php mysql laravel view model