foreach ループ内に選択クエリとそれに続く更新クエリがあります。
選択からデータを取得でき、それをjsonとして使用してグラフを描画しますが、選択から同じデータで更新する必要がある他のテーブルの場合、指定されたフィールドが0になる場合があります1または2!!
更新に選択を使用しようとしましたが、問題ありません (更新 .... (選択 ....)) ですが、foreach 内では機能しません。他の列も使用しようとしましたが、同じ結果で、常に 0 になります。よろしくお願いします
これは私のコードです
public function actionGetSensorsDataLive($beamId) {
header('Content-Type: application/json; charset="UTF-8"');
$sensorsIds = Sensor::model()->findAllBySql('SELECT sensor_id FROM sensor where
node_id="' . $beamId . '" and sensor_name = "I" ;');
foreach ($sensorsIds as $s) {
$sResult = array();
$modelSensor = SensorInfo2::model()->findBySql('SELECT * FROM information_sensor
where sensor_id= "' . $s['sensor_id'] . '"');
$sResult = array(($modelSensor->information_sensor_time),
($modelSensor->information_sensor_value));
/////////////// update////////////////
// for every information_sensor_time that I get from the previous query
// I want
// to update a row in another table //
foreach ($modelSensor as $up) {
$connection = yii::app()->db;
$sql = 'UPDATE last_point SET last_point_time = "' .
$up['information_sensor_time'] . '"
WHERE sensor_id= "' . $s['sensor_id'] . '" ';
$command = $connection->createCommand($sql);
$command->execute();
}
/////update end///////
}
echo json_encode($sResult);
Yii::app()->end();
}