我需要一些帮助来解决拉威尔的一个问题。我有三张桌子:
specie_颗粒表是颗粒组成的轴心,有一个额外字段,称为percentuale(百分比)。显然,这种关系在物种类中属于遗传性,在颗粒类中详细地说,在颗粒类中属于遗传性:
// Imposto la relazione con le Specie
public function specie()
{
return $this->belongsToMany(Specie::class)->withPivot('percentuale');
}
详细种类类别:
// Imposto la relazione con i Pellets
public function pellets()
{
return $this->belongsToMany(Pellet::class)->withPivot('percentuale');
}
要修改表格,请使用以下表格:
{!! Form::model($pellet, ['method' => 'PUT', 'route' => ['composizione.update', $pellet->id]]) !!}
<table class="table table-bordered">
<thead>
<th>Specie</th>
<th>Percentuale</th>
<th>Azione</th>
</thead>
<tbody>
@foreach($pellet->specie as $specie)
<tr>
<td>{!! Form::select('specie[]', $listaSpecie, $specie->id, ['class' => 'form-control']) !!}</td>
<td>
<input type="text" class="form-control" name="percentuale[]" value="{{ $specie->pivot->percentuale }}">
</td>
<td><a class="btn btn-danger" href="{{ url('composizione/pellet/elimina/id/' . $pellet->id . '/specie/' . $specie->id) }}">Elimina</a> </td>
</tr>
@endforeach
</tbody>
</table>
{!! Form::submit('Aggiorna Composizione', ['class' => 'btn btn-success']) !!}
{!! Form::close() !!}
请求传递到路由
Route::put('composizione/pellet/update/{id}', 'PelletController@updateComposizione')->name('composizione.update');
最后我拿到了控制器
public function updateComposizione(\App\Http\Requests\ComposizioneUpdateRequest $request, $id)
{
$pellet = Pellet::find($id);
$specie = Input::get('specie');
$percentuali = Input::get('percentuale');
$pellet->specie()->sync([$specie => ['percentuale' => $percentuali]]);
return redirect('admin/pellets/')->with('ok_success', 'Composizione aggiornata correttamente');
}
但是我得到了这个错误:非法的偏移类型
in PelletController.php line 94
at HandleExceptions->handleError(2, 'Illegal offset type', '/srv/users/serverpilot/apps/laraweb/app/Http/Controllers/PelletController.php', 94, array('request' => object(ComposizioneUpdateRequest), 'id' => '5', 'pellet' => object(Pellet), 'specie' => array('1', '7'), 'percentuali' => array('50', '50'))) in PelletController.php line 94
at PelletController->updateComposizione(object(ComposizioneUpdateRequest), '5')
at call_user_func_array(array(object(PelletController), 'updateComposizione'), array(object(ComposizioneUpdateRequest), 'id' => '5')) in Controller.php line 55
...
有人能帮我理解吗?非常感谢,我的英语很抱歉。我是意大利人;)
我建议你回顾Laravel教程中的表单,并重新考虑这种方法,即选择可能不是最好的方法。选择不是解决这个问题的最佳方法。
尝试这样做:
@foreach($pellet->specie as $specie)
{!! Form::open(["url" => "composizione/pellet/update/".$pellet->id, "method" => "PUT"]) !!}
<tr>
<td>
<input type="hidden" name="specie" value={{$specie->id}} />
<input type="text" class="form-control" name="percentuale" value="{{ $specie->pivot->percentuale }}">
</td>
<td><inpyt type="submit" class="btn btn-danger">Elimina</a> </td>
</tr>
{!! Form::close() !}}
@endforeach
其余的可能会起作用。这里发生的事情是,您将同时更新单个物种/百分比
组合,而不是多个。
问题内容: 用户模型: 职位模型: 在表单提交时,我有两个数组: 使用 可以按预期将position_user表与用户和相应的位置ID同步。 但是我不知道如何填充多余的字段(“ company_id”) 这是我期望的工作方式: 我已经阅读了手册,但是我只是看不到如何处理这些数组,因为手册中的示例似乎与以下情况有关:要填充的额外字段不是多个项目的数组: 我尝试使用此答案 合并两个数组: 并获得$ s
我是新手,当我使用morphia java mongodb时,我有一个问题。我有“新闻”数据库在mongodb中的收藏是“文章”的一个例子: 在不丢失数据的情况下更新集合的最快方法是什么?如何在将这个文章类映射到MongoDB时忽略额外的字段? 谢谢
问题内容: 我有这两个课(表) 还有这个: 运行此代码后,在数据库(student_course)中创建了一个额外的表,现在我想知道如何在该表中添加额外的字段,例如(Grade,Date和…(我的意思是student_course表)),我看到了一些解决方案,但我不喜欢它们,而且我对它们有一些问题: 第一个样品 问题答案: 如果在链接表(STUDENT_COURSE)上添加额外的字段,则必须根据s
嗨,我是ElasticSearch的新手,我正在努力从ElasticSearch的响应中删除所有额外字段。请参见以下回复: 上面你可以看到响应中有一些附加字段,如_index、_type、_score、max_score等。我按照ElasticSearchresponse_filtering指南删除了这些字段,但对我不起作用。我还将filter_path参数传递给请求0.0.0.0:5000/v4
页面 提交表单时,我想将值附加到,因为表单不包含的输入字段。并且post\u id的comment表中的列名被称为,创建注释的路径是 有什么想法吗?谢谢
我试图自定义laravel认证注册。我在表格和表格中添加了父亲姓名字段。但是父亲姓名字段不是必需的。我在registercontroller.php和用户模型中也添加了这个字段。然后,如果提交的形式与所有字段然后数据插入成功,但如果我提交的形式没有父亲的名称字段(这是不需要的),然后错误来了:f_name提交不能为空。 如果我从fillable中删除f_name,则f_name不会保存。 方法。p