2

バックエンド API に CakePHP 3.0 を使用しています。これは私のコードです。

namespace App\Controller;

use Cake\Datasource\ConnectionManager;
use Cake\ORM\TableRegistry;
use App\Controller\AppController;
use Cake\Routing\Router;

class MainController extends AppController {

   public function myMethod() {
       $groupRegistry = TableRegistry::get('MyModel');
       $query = $groupRegistry->query();
       $params = $this->request->data;

       $return = $query->update()
               ->set(['my_flag' => $params['flag']])
               ->where(['id' => $params['id']])
               ->execute();

       if (empty($return)) {
           return $this->outStatusJson('ERR100', 'Error Updating.');
       }

     return $this->outStatusJson('0', 'OK');
  }
}

$query->update()の応答を追跡できません

どんな助けでも私の一日を救います。

4

2 に答える 2

0

getAffectedRows()Cakephp のドキュメントで説明されているモデル メソッドを使用します。

ドキュメントに従って: Model::getAffectedRows()- 最後のクエリによって影響を受けた行の数を返します。

Update2:(これを試してください)

public function getAffectedRows() {
    // Returns the number of rows affected by the last query
    //return $this->getDataSource()->lastAffected();

      $db =& ConnectionManager::getDataSource($this->useDbConfig);
      return $db->lastAffected();
}
于 2015-12-02T07:03:11.100 に答える