MVCでは、通常、コントローラーがユーザーからの対話を処理するため、ユーザーはモデルに直接アクセスするのではなく、コントローラーを介してアクセスします。コントローラーはユーザーのアクションをインターセプトし、モデルを呼び出すことによって作業を行います。したがって、可能な場合でも、モデル関数を直接呼び出さないことをお勧めします。
さて、あなたがやりたいことをするために、モデルの関数を呼び出す関数(アクション)をコントローラーに作成できます。
コントローラーで関数 (アクション) を呼び出すには、ボタンがクリックされたときに呼び出される URL を関連付けることができます。これはonclick イベントを使用して実行できます。ブラウザを新しい URL に移動させたくないので、この URL を ajax で呼び出します。
例、1) コントローラー内:
public function actionMyaction($id){
$sampleMod=SampleModel::model()->findByPk($id);
$sampleMod->deleteImage();
Yii::app()->end();
}
2) ボタン付きビュー: CHtml ヘルパー クラスの ajaxButton<input type="button" value="delete image"/>
を使用する代わりに。
echo CHtml::ajaxButton('Delete Image',Yii::app()->createUrl('controllername/actionname',array('id'=>$id)));
右 の 通過 に 気 を つけ て ください$id
.