Yii1中从sessionpublic函数search()获取ID
Get the ID from the session public function search () in Yii1
public function search()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->addCondition('id=1');
$criteria->compare('id',$this->id);
$criteria->compare('login',$this->login,true);
$criteria->compare('name',$this->name,true);
$criteria->compare('password',$this->password,true);
$criteria->compare('random_pass',$this->random_pass,true);
$criteria->compare('default_number_of_devices',$this->default_number_of_devices);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array('defaultOrder'=>'name ASC',)
));
}
我使用 ID 1
和 $criteria->addCondition('id=1')
一样,它不是自动的,只是用 id=1
显示记录,我如何从用户季节登录中获得自动 ID。
public function search()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$sas= Yii::app()->user->id;
$criteria->addCondition("id=$sas");
$criteria->compare('id',$this->id);
$criteria->compare('login',$this->login,true);
$criteria->compare('name',$this->name,true);
$criteria->compare('password',$this->password,true);
$criteria->compare('random_pass',$this->random_pass,true);
$criteria->compare('default_number_of_devices',$this->default_number_of_devices);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array('defaultOrder'=>'name ASC',)
));
}
desc id 这样的 $sas= Yii::app()->user->id;我觉得 运行
您的 search()
方法已有按用户 ID 过滤的代码:
$criteria->compare('id',$this->id);
你只需要将模型的id
属性设置为当前的ID即可。所以你的控制器动作应该是这样的:
$model = new MyModel('search');
if (isset($_POST['MyModel'])) {
$model->attributes = $_POST['MyModel'];
}
if (Yii::app()->user->isGuest) {
Yii::app()->user->loginRequired();
}
$model->id = Yii::app()->user->id;
$dataProvider = $model->search();
你不应该在你的模型中直接使用 Yii::app()->user
- 它打破了 MVC 模式,你将无法在控制台中使用这种方法。全局状态应该在控制器级别处理并传递给模型。
public function search()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$criteria->addCondition('id=1');
$criteria->compare('id',$this->id);
$criteria->compare('login',$this->login,true);
$criteria->compare('name',$this->name,true);
$criteria->compare('password',$this->password,true);
$criteria->compare('random_pass',$this->random_pass,true);
$criteria->compare('default_number_of_devices',$this->default_number_of_devices);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array('defaultOrder'=>'name ASC',)
));
}
我使用 ID 1
和 $criteria->addCondition('id=1')
一样,它不是自动的,只是用 id=1
显示记录,我如何从用户季节登录中获得自动 ID。
public function search()
{
// @todo Please modify the following code to remove attributes that should not be searched.
$criteria=new CDbCriteria;
$sas= Yii::app()->user->id;
$criteria->addCondition("id=$sas");
$criteria->compare('id',$this->id);
$criteria->compare('login',$this->login,true);
$criteria->compare('name',$this->name,true);
$criteria->compare('password',$this->password,true);
$criteria->compare('random_pass',$this->random_pass,true);
$criteria->compare('default_number_of_devices',$this->default_number_of_devices);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
'sort'=>array('defaultOrder'=>'name ASC',)
));
}
desc id 这样的 $sas= Yii::app()->user->id;我觉得 运行
您的 search()
方法已有按用户 ID 过滤的代码:
$criteria->compare('id',$this->id);
你只需要将模型的id
属性设置为当前的ID即可。所以你的控制器动作应该是这样的:
$model = new MyModel('search');
if (isset($_POST['MyModel'])) {
$model->attributes = $_POST['MyModel'];
}
if (Yii::app()->user->isGuest) {
Yii::app()->user->loginRequired();
}
$model->id = Yii::app()->user->id;
$dataProvider = $model->search();
你不应该在你的模型中直接使用 Yii::app()->user
- 它打破了 MVC 模式,你将无法在控制台中使用这种方法。全局状态应该在控制器级别处理并传递给模型。