2017-04-14 97 views
0

在我看來,我可以有一個或更多這樣的組合,而是試圖打印沒有用戶的只有一個組合, 在我的控制器時的2多個對象相同的模型loadMultiple()

<input type="text" name="User[user_id][]" /> 
<input type="text" name="User[username][]" /> 
我計數

在我的控制器:

$count = count(Yii::$app->request->post('User'));// return 2 

我檢查計數的目的是要打造一批用戶實例/秒,但由於具有惹上麻煩創建的用戶正確數量的IM,我無法繼續,有人可以啓發我。謝謝

回答

-1

做一個var_dump($ _ POST),你會看到你所得到的。你有用戶陣列2把鑰匙,這意味着它有2

+0

WHST名格式應該怎麼使用? – bumbumpaw

+1

你的名字格式沒有錯。你只是對錯誤的變量進行計數。做var_dump並親自查看。你計劃在兩個領域都有多個用戶嗎? – TurtleTread

+0

是的,我現在看到了var_dump。是的,我需要Controller來控制這兩個領域的多個用戶。 – bumbumpaw

0

的長度你需要對你的代碼改成這樣:

<input type="text" name="User[0][user_id]" /> 
<input type="text" name="User[0][username]" /> 
<input type="text" name="User[1][user_id]" /> 
<input type="text" name="User[1][username]" /> 
<input type="text" name="User[2][user_id]" /> 
<input type="text" name="User[2][username]" /> 

等等...... 這是因爲你創建user_id返回2和user_name在數組的錯誤維度。

0

您需要使用jQuery和clone()函數,並自動遞增要在新克隆字段中替換的ID。

的jsfiddle:here


HTML:

<form id="autoinc-yii2form"> 
    <div id="aiy2-fields"> 
     <div class="aiy2f-user-wrap" data-user-count="0"> 
      <div class="aiy2f-userid-wrap"> 
       User ID: <input type="text" name="User[0][user_id]" class="aiy2-userid" /> 
      </div> 
      <div class="aiy2f-username-wrap"> 
       Username: <input type="text" name="User[0][username]" class="aiy2-username" /> 
      </div> 
     </div> 
    </div> 


    <button type="button" onClick="return adduser();">Add User</button> 
</form> 

JQuery的:

function adduser() { 
    var userCount = $("#aiy2-fields .aiy2f-user-wrap:last").data("user-count") + 1; 
    var cloned = $("#aiy2-fields .aiy2f-user-wrap:last").clone(); 

    cloned.find(".aiy2-userid").attr("name", "User[" + userCount + "][user_id]"); 
    cloned.find(".aiy2-username").attr("name", "User[" + userCount + "][username]") 

    cloned.attr("data-user-count", userCount); 
    cloned.appendTo("#aiy2-fields"); 

    return false; 
}