型号:
public function week($gid)
{
$sensor = Yii::app()->zdb->createCommand("select nid ,sdata,stype,timestamp from tbl_sensor where timestamp >= date('now','-30 days') antimestamp<date('now');")->queryAll();
return $sensor;
}
答案 0 :(得分:0)
你的模型应该是:
public function week()
{
$sensor = Yii::app()->zdb->createCommand("select nid ,sdata,stype,timestamp from tbl_sensor where timestamp >= date('now','-30 days') antimestamp<date('now');")->queryAll();
return $sensor;
}
你的控制器应该是:
public function actionReport() {
$user = User::model()->findByPk(Yii::app()->user->getId());
$gwinfo =Sensor::model()->find('(gid)=?', array($user->gid));
$model='';
if(isset($_POST['week'])) {
$model= Sensor::model()->week();
}
//$this->render('Reportht', array('gw'=>$gwinfo, 'user'=>$user));
$this->redirect('index.php?r=site/report', array('gw'=>$gwinfo, 'user'=>$user,'model'=>$model));
}
注意:我已将model
对象传递给您的视图,现在您可以在需要时使用该对象
答案 1 :(得分:0)
我希望您正在寻找“如何在模型中创建方法以及如何在Controller中使用”
试试这个
在Model中创建一个名为“MyModel”的方法
function foo($param)
{
$model = ModelName::model()->findAll("property=$param");
return $model;
}
在我的控制器中使用它
function actionBar()
{
$result=MyModel::model()->foo($param);
//print_r($result);
}
答案 2 :(得分:-1)
我希望上帝你不会覆盖现有模型来创建自己的查询。如果是这样,那么在您的模型中最好不要这样做。您应该阅读有关PDO的更多信息,因为使用该查询将更容易受到SQL注入攻击。您应该使用CActiveRecord将查询放入控制器中。您可以阅读此tutorial,因为它非常直观且易于学习。除非需要,否则不应修改模型。
如果您有任何机会使用自定义查询来查询数据库。您可以使用CDbCriteria生成自定义查询。