我是laravel的新手。
从我的表单中,变量名称:sequenceJawatankuasa
和seniorityJawatankuasa
都应该将数组值传递给控制器。这是因为,我希望在点击按钮Sequence
后使用不同的 ID 更新Seniority
和Simpan Turutan
这两个字段的许多不同输入数据
然后它将参数由 ID , SequenceJawatankuasa 值和 seniorityJawatankuasa 值传递给类及其模型。
但是有stil错误而且没有更新价值。请任何人帮助我。
这是我的表格:
<?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:
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;
}
}
控制器:
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>
班级:
public function getJawatankuasaUpdateTurutanByID($id, $seniority, $sequence){
$kodJawatankuasa = new KodJawatankuasa();
try{
$kodJawatankuasa->getJawatankuasaUpdateTurutanByID($id, $seniority, $sequence);
}catch(Exception $exception){
loginfo(ERROR_LOG, $exception);
}
return false;
}
型号:
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 );
}
}
答案 0 :(得分:0)
更改表格中的输入名称
<input name"staff[<?php echo $i; ?>][id]"> type="hidden">
<input name="staff[<?php echo $i; ?>][SENIORITY]">
<input name="staff[<?php echo $i; ?>][SEQUENCE]">
然后在控制器中你可以执行以下操作:
<?php
$staffs = Input::all();
foreach($staffs as $staff) {
$staff = Staff::find($staff['id'])->update($staff);
}
?>