[英]Update multiple data using same variable name input from a form into single column in database in Laravel
hye everyone. 大家好
Im newbies in laravel here. 我是拉拉韦尔的新手。
From my form, both variable name : sequenceJawatankuasa
and seniorityJawatankuasa
supposed to pass array value to controller. 在我的表单中,两个变量名: sequenceJawatankuasa
和seniorityJawatankuasa
应该将数组值传递给控制器。 This is because, I want to update many different input data for both fields which is Sequence
and Seniority
using different ID after clicked button Simpan Turutan
这是因为,在单击Simpan Turutan
按钮后,我想使用不同的ID更新两个字段的许多不同输入数据,即“ Sequence
和“ Seniority
Then it will pass parameter consists of ID , SequenceJawatankuasa value, and seniorityJawatankuasa value to class yet its model. 然后它将由ID , SequenceJawatankuasa值和seniorityJawatankuasa值组成的参数传递给其模型。
But there's stil error and not update the value.Please anyone help me. 但是仍然存在错误并且没有更新值。请有人帮助我。
here is my Form: 这是我的表格:
<?php $count = 1; ?>
@foreach ($jawatankuasa as $jawatankuasaListView)
<tr height="20" valign="top">
<td class="TableCol1Center">{{ $jawatankuasaListView['ID'] }}</td>
<td class="TableCol2Left"><a href="{{URL::to('pentadbiranjawatankuasadetails/sujk?t=2&jawatankuasaid='.$jawatankuasaListView['ID'].'&bc=1')}}" class="BlueLink">{{ $jawatankuasaListView['NAMA_JAWATANKUASA'] }}</a></td>
<td class="TableCol2Left"> {{ $jawatankuasaListView['PENERANGAN'] }}</td>
<td class="TableCol2Center">
<input type="text" name="seniorityJawatankuasa[]" style="text-align: center;" maxlength="2" size="1" value="{{ $jawatankuasaListView['SENIORITY'] }}" onchange="javascript:FilterChar4(this)">
</td>
<td class="TableCol2Center">
<input type="text" name="sequenceJawatankuasa[]" style="text-align: center;" maxlength="2" size="1" value="{{ $jawatankuasaListView['SEQUENCE'] }}" onchange="javascript:FilterChar4(this)">
</td>
<td class="TableCol2Center">
{{ strcmp( $jawatankuasaListView['SOFT_DELETE'], SOFT_DELETE ) == 0 ? '<b><font color="red">Tidak Aktif</font></b>' : '<b>Aktif</b>' }}</td>
</td>
<td class="TableCol3Center">
@if( strcmp( $jawatankuasaListView['SOFT_DELETE'], SOFT_DELETE ) != 0 )
<input type="checkbox" name="DelPstId[]" value="{{ $jawatankuasaListView['ID'] }}">
@endif
</td>
</tr>
<?php $count++; ?>
@endforeach
<tr height="20">
<td align="right">
<input type="button" name="btnSave" value="Simpan Turutan" class="NormalTextCenter" onclick="SimpanTurutan();" >
</td>
</tr> <br/>
Javascript : Javascript:
function FilterChar4(field) {
var vResult = new String();
var vNum = "0123456789.";
var vChar = field.value.split(""); // create array
for (i=0; i<vChar.length; i++) {
if (vNum.indexOf(vChar[i]) != -1) vResult += vChar[i];
}
if (field.value != vResult) field.value = vResult;
}
function SimpanTurutan(){
if (confirm("Simpan turutan ini?")) {
ShowLoading("Loading");
var url = "{{ URL::to('pentadbiranjawatankuasaupdateturutan/sujk?t=2') }}" ;
document.JawatankuasaListForm.action = url;
document.JawatankuasaListForm.submit();
return true;
}
}
Controller: 控制器:
public function pentadbiranJawatankuasaUpdateTurutan()
{
$kodJawatankuasaClass = new KodJawatankuasaClass();
try{
$input = Input::all();
#update process
if(( isset( $input['jawatankuasaid'])) && ( isset( $input['seniorityJawatankuasa'])) && ( isset( $input['sequenceJawatankuasa'])) ){
$updateTurutan = $kodJawatankuasaClass->getJawatankuasaUpdateTurutanByID( $input['jawatankuasaid'], $input['seniorityJawatankuasa'], $input['sequenceJawatankuasa'] );
}
#declaration pagination
$pagination = new PaginationBase();
#get page no
$pageNo = empty( $_GET['pageNo'] ) ? 0 : $_GET['pageNo'];
$pagination->setPageSize();
#count and get data
$jawatankuasa_count = $kodJawatankuasaClass->getJawatankuasaKodPagination($pagination->getPageSize(), $pageNo, true );
$jawatankuasa= $kodJawatankuasaClass->getJawatankuasaKodPagination( $pagination->getPageSize(), $pageNo );
#pagination setting
$pagination->setPageDataSize( $jawatankuasa_count );
$pagination->setCurrentPage( $pageNo );
return View::make('sujk/pentadbiran/jawatankuasa/jawatankuasa-view-sujk', array( 'jawatankuasa' => $jawatankuasa, 'pagination' => $pagination ));
}
catch (Exception $e) {
loginfo(ERROR_LOG, $e);
}
}
<br/> </br>
Class: 类:
public function getJawatankuasaUpdateTurutanByID($id, $seniority, $sequence){
$kodJawatankuasa = new KodJawatankuasa();
try{
$kodJawatankuasa->getJawatankuasaUpdateTurutanByID($id, $seniority, $sequence);
}catch(Exception $exception){
loginfo(ERROR_LOG, $exception);
}
return false;
}
Model: 模型:
public function getJawatankuasaUpdateTurutanByID( $id, $seniority, $sequence )
{
try{
$this->whereIn('ID', $id)
->update(['SENIORITY' => $seniority['seniorityJawatankuasa'], 'SEQUENCE' => $sequence['sequenceJawatankuasa']]);
}catch(ModelNotFoundException $exception){
loginfo( ERROR_LOG, $exception );
}
}
change the input names in the form like so 像这样更改输入名称
<input name"staff[<?php echo $i; ?>][id]"> type="hidden">
<input name="staff[<?php echo $i; ?>][SENIORITY]">
<input name="staff[<?php echo $i; ?>][SEQUENCE]">
and then in the controller you can do something like: 然后在控制器中您可以执行以下操作:
<?php
$staffs = Input::all();
foreach($staffs as $staff) {
$staff = Staff::find($staff['id'])->update($staff);
}
?>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.