2016-03-30 2 views
1

良い午後、 私は審査員のスコアを標準化するCakePHPファイル(自分の見解では私のCTPファイル)を持っています。スコアが正規化されたので、後でそれらをデータベースに挿入して、後でCSVファイルで印刷したいと思います。私はいくつかのことを試しましたが、何も効果がありませんでした。目標は、自分のコードで生成された正規化されたスコアを入力することです。私はCakePHPにユーザ入力を挿入する方法を知っています。私が問題にしているのは、コードによって生成されたデータを挿入することです。私はCakePHP V2とMySQL Workbenchを使用しています。以下は私がこれまで持っていたコードです。あなたがデータベースにビューにレンダリングしたデータを挿入したい場合は、その後、アレイからの正規化されたスコアを拾っているWebページの下CakePHPにコンピュータ生成の出力を挿入

if($post['poster']['posterid'] == $current){ 
      if($count<2){ 
       $allPresenters[$current] = $post['poster']['author']; 
       echo "<tr><td>".$post['poster']['posterid']."</td>"; 
       echo "<td>".$post['poster']['author']."</td><td>".$post['judge']['first']." ".$post['judge']['last']."</td>"; 
       echo "<td>".$allScores[$post['Post']['id']]."</td><td>".$normalizedScores[$post['Post']['id']]."</td></tr>"; 
       $localTotal += ($allScores[$post['Post']['id']]); 
       $normalTotal += ($normalizedScores[$post['Post']['id']]); 
       $count++;  
       //Insert Normalized score here 
      } 
     } 
     else{ 
      echo "<tr><td></td><td></td><td>Total Score:</td><td>".$localTotal."</td><td>".$normalTotal."</td></tr>"; 
      $allNormalScores[$current] = $normalTotal; 
      $allScores2[$current] = $localTotal; 
      $current = $post['poster']['posterid']; 
      $localTotal =0; 
      $normalTotal =0; 
      $count = 0; 
      echo "<tr><td>".$post['poster']['posterid']."</td>"; 
      echo "<td>".$post['poster']['author']."</td><td>".$post['judge']['first']." ".$post['judge']['last']."</td>"; 
      echo "<td>".$allScores[$post['Post']['id']]."</td><td>".$normalizedScores[$post['Post']['id']]."</td></tr>"; 
      $localTotal += ($allScores[$post['Post']['id']]); 
      $normalTotal += ($normalizedScores[$post['Post']['id']]); 
      //Insert normalized score here 
     } 

    } 

にそれらを印刷するには、私のモデル

<?php 
App::uses("ConnectionManager","Model/ConnectionManager"); 
class Post extends AppModel{ 
    public $name = "Post"; 
    public $belongsTo = array("poster","judge"); 
    public $validate = array(
     'poster_id' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria1' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria2' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria3' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria4' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria5' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria6' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria7' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria8' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria9' => array(
      'rule' => 'notEmpty' 
     ), 
     'criteria10' => array(
      'rule' => 'notEmpty' 
     ), 
     'comments' => array(

     ), 
     'Normalized' => array(

     ) 


    ); 

    public function isOwnedBy($post, $user) { 
     return $this->field('id', array('id' => $post, 'user_id' => $user)) === $post; 
    } 
} 

答えて

0

ですPOSTを使用している場合は、ページにフォームを作成し、そのフォームにデータを追加する必要があります。

しかし、データを正規化することは、ユーザーとのやりとりなしにプログラムで行うことができる場合は、ビューにレンダリングする必要があるのはわかりません。モデルでそれを処理し、データベースに保存してから、必要に応じて正規化されたデータをビューにレンダリングします。

実際には、ビュー内のデータと図形を計算してはいけません。これがモデルレイヤの目的です。

+0

私はむしろ、モデルビューコントローラに正規化するためのすべてのメソッドを渡すでしょうか?私は今日そのような線に沿って何かを試してみます。私が見た理由は、Webページで結果を表示することでした。しかし、私は最近、ファイルをCSVにインポートするように求められました。私はそこに必要なすべてのコードをすでに持っているので、その情報をすべてデータベースに提出する方法があるかどうかは不思議に思っていました。 –

関連する問題