Php can';当var_dump显示时,不返回一条记录
我不能归还我的模型。但是当我Php can';当var_dump显示时,不返回一条记录,php,yii,Php,Yii,我不能归还我的模型。但是当我返回var\u dump($model)时,我可以看到记录。那么为什么我不能返回$model?我没有看到任何错误,它只是显示了一个空白部分 我有一个小部件: $model = Table::model()->something1(); $id =Yii::app()->request->getQuery('id'); if($model==null){ $model = new Table; if (isse
返回var\u dump($model)
时,我可以看到记录。那么为什么我不能返回$model
?我没有看到任何错误,它只是显示了一个空白部分
我有一个小部件:
$model = Table::model()->something1();
$id =Yii::app()->request->getQuery('id');
if($model==null){
$model = new Table;
if (isset($_POST['Table'])){
$model->attributes = $_POST['Table'];
$model->product_id = $product_id;
$model->user_id = Yii::app()->user->user_id;
$model->save();
}
}else {
$m = Table::model()->something2($id);
//return var_dump($m[0]); I just want one record
//I also tried just getting $model, doesn't work
//I just want to get the model if it's there is a record
return $m;
}
$this->renderFile(Yii::getPathOfAlias('app.some.path'). '/_form.php',array(
'model' => $model,
));
以下是我的模型:
public function something1(){
$uid = Yii::app()->user->user_id;
$id =Yii::app()->request->getQuery('id');
$criteria = new CDbCriteria;
$criteria->compare('user_id',$uid);
$criteria->compare('product_id',$id);
$criteria->limit = 1;
$record = $this->exists($criteria);
return $record;
}
您的模型函数
something1()
返回一个布尔值而不是记录,因为您调用的是exists()
而不是find()
作为替代方案,您也可以按如下方式编写整个函数:
public function something1() {
return $this->findByAttributes(array('user_id' => Yii::app()->user->id,
'product_id' => Yii::app()->request->getQuery('id')));
}
我想你的意思是:$this->find($criteria),而不是“exists”。它只是检查一行是否存在并返回布尔值,而不是记录。