2015-09-04 29 views
0

hye everyone。將使用相同變量名稱的多個數據從表單輸入到Laravel數據庫中的單列中

在laravel的新手在這裏。

從我的表單中,變量名:sequenceJawatankuasaseniorityJawatankuasa應該將數組值傳遞給控制器​​。這是因爲,我想爲兩個字段是SequenceSeniority使用不同ID點擊的按鈕後Simpan Turutan

然後,它會通過參數由IDSequenceJawatankuasa值的更新許多不同的輸入數據,和seniorityJawatankuasa價值類,但它的模型。
但有stil錯誤,並沒有更新value.Please任何人都可以幫助我。

這裏是我的表:

<?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 = "."; 
    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

改變輸入名字的形式,像這樣

<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); 
} 
?> 
相關問題