【发布时间】:2020-06-18 22:51:53
【问题描述】:
我正在尝试修复更新过程,我有以下模型属于与其他模型和表的关系:
protected $table = 'voting_results';
protected $fillable = ['proceding_id', 'candidate_id', 'politicparty_id', 'total'];
从表单中,我通过以下方式发送数据:
{!! Form::model($electoralrecord, ['method' => 'PATCH','route' => ['electoralrecords.update', $electoralrecord->id], 'enctype' => 'multipart/form-data']) !!}
<input type="number" class="form-control" id="total" name="total[]" value="{{ $candidate->total }}" placeholder="Values">
<button class="btn btn-success" type="submit" data-toggle="tooltip" rel="tooltip" data-placement="top" title="Guardar cambios"><i data-feather="save"></i> Save</button>
{!! Form::close() !!}
在控制器中,我正在接收并尝试更新表中的数据,如下所示:
public function update(Request $request, $id)
{
$data = $request->all();
$ids = $request->id[0];
$totals = $request->total[0];
DB::table('voting_results')->where('id', $ids)
->update(array(['total' => $totals]));
return redirect()->route('electoralrecords.index')
->with('success','Record update!!!');
}
但它返回 ErrorException (E_NOTICE) 数组到字符串的转换。
有人可以指导我,因为我已经尝试进行转换以存储数组数据。
对变量 $ 数据进行 dd,结果如下:
array:4 [▼
"_method" => "PATCH"
"_token" => "dHZlKbY1x2xOteQ31pPIMkmwQc3BfHIRWrXlKU87"
"id" => "1"
"total" => array:27 [▼
0 => "12"
1 => "10"
2 => "0"
3 => "0"
4 => "0"
5 => "0"
6 => "0"
7 => "0"
8 => "0"
9 => "0"
10 => "0"
11 => "0"
12 => "0"
13 => "0"
14 => "0"
15 => "0"
16 => "0"
17 => "0"
18 => "0"
19 => "0"
20 => "0"
21 => "0"
22 => "0"
23 => "0"
24 => "0"
25 => "0"
26 => "4"
]
]
这是一个架构和关系
Schema::create('voting_results', function (Blueprint $table) {
$table->increments('id');
$table->integer('proceding_id')->unsigned()->nullable();
$table->foreign('proceding_id')
->references('id')
->on('proceedings')
->onDelete('cascade');
$table->integer('candidate_id')->unsigned()->nullable();
$table->foreign('candidate_id')
->references('id')
->on('candidates')
->onDelete('cascade');
$table->integer('politicparty_id')->unsigned()->nullable();
$table->foreign('politicparty_id')
->references('id')
->on('politicparty')
->onDelete('cascade');
$table->string('total');
$table->timestamps();
});
【问题讨论】:
标签: mysql laravel laravel-5.8 laravel-6 laravel-7