title: extjs 4.2 creating "post" request while editing instead of "put"
body: <p>I am working on extjs 4.2 app with php mysql backend. I am able to add records to store via form. Than store autosyncs using proxies add new record to mysql.
  However, it doesnt create a "put" request and instead create a 'post' request. I have seen other samples regarding the same issue and most of them points towards configuring model's idProperty.</p>
  
  <p>My frontend uses a form to create new/POST or to edit existing/PUT depending on presence of unique model ID</p>
  
  <p>store uses ajax proxy</p>
  
  <pre><code>        Save controller:
  var form = this.getAnnDetailsPanel1().getForm();
  var formData = form.getFieldValues();
  //console.log(formData);
  
  var a = form.findField('annID');
  var b = a.getValue();
  //console.log(b);
  if(!b)
  {
  //console.log("record doesnt exist - Add Record");
  var store = Ext.data.StoreManager.get('announcementStore');
  var sss = store.add(formData);
  }
  else
  {
  console.log("record exist - Edit Record");
  var ttt = form.getRecord();
  
  uuu = form.updateRecord(ttt);
  ttt.commit();
  console.log(ttt);
  
  }
  </code></pre>
  
  <p>php file:</p>
  
  <pre><code>        &lt;?php
  header('Content-Type: application/json');
  
  $method = $_SERVER["REQUEST_METHOD"];
  $con = new PDO("mysql:host=localhost;dbname=openclass", "root", "")  or die("cannot connect to mysql");
  
  switch ($method) {
      case "GET":     // Return all records
          $ClassID = $_GET["ClassID"];
          $sql =  "SELECT * FROM announcement " .
                  "WHERE ClassID = $ClassID " .
                  "ORDER BY annID";
  
          $sql = $con-&gt;prepare($sql);
          $sql-&gt;execute();
          $rows = array();
  
          while ($row = $sql-&gt;fetch(PDO::FETCH_OBJ)) {
              $rows['data'][] = $row;
          }
  
          echo json_encode($rows, JSON_NUMERIC_CHECK);
  
          break;
  
      case "PUT":     // Update existing record, requires ID
          $postData = getPostData();
          $annID = getPostValue($postData, 'annID');
          $ClassID = getPostValue($postData, 'ClassID');
          $annHeading = getPostValue($postData, 'annHeading');
          $annContent = getPostValue($postData, 'annContent');
  
          $sql =  "UPDATE announcement " .
                  "SET ClassID = '$ClassID' " .
                  " annHeading = '$annHeading' " .
                  " annContent = '$annContent' " .
                  "WHERE annID = '$annID' ";
  
          $sql = $con-&gt;prepare($sql);
          $result = $sql-&gt;execute();
  
          break;
  
      case "POST":    // New record
          $postData = getPostData();
          $ClassID = getPostValue($postData, 'ClassID');
          $annHeading = getPostValue($postData, 'annHeading');
          $annContent = getPostValue($postData, 'annContent');
  
          $sql =  "INSERT INTO announcement (ClassID, annHeading, annContent) " .
                  "VALUES ('$ClassID','$annHeading', '$annContent')";
  
          $sql = $con-&gt;prepare($sql);
          $result = $sql-&gt;execute();
  
  
  
          break;
  
      case "DELETE":  // Delete existing record, requires annID
          $postData = getPostData();
          $annID = getPostValue($postData, 'annID');
  
          $sql =  "DELETE FROM announcement " .
                  "WHERE annID = '$annID' ";
  
          $sql = $con-&gt;prepare($sql);
          $result = $sql-&gt;execute();
  
          if (! $result) {
              echo "{\"success\": false}";
          } else {
              echo "{\"annID\": $annID}";
          }
  
          break;
  }
  
  $con = null;
  
  function getPostData() {
      $fileContents = file_get_contents("php://input");
      return json_decode($fileContents, true);
  }
  
  function getPostValue($postData, $fieldName) {
      return (!empty($postData[$fieldName]) ? htmlspecialchars($postData[$fieldName]) : NULL);
  }
  
  ?&gt;
  </code></pre>