gpt4 book ai didi

php - 登录用户的 Yii 私钥

转载 作者:行者123 更新时间:2023-11-29 07:42:11 27 4
gpt4 key购买 nike

我的应用程序在 1 个数据库中有 2 个表。一个称为 USER(id、uname、pw、role),另一个称为文件的 USERZ(id、files、USER_id、name)。两个表都存在 HAS_MANY 和 BELONGS_To 关系。

我可以看到显示用户和所有文件。但我想做的是只查看每个用户的文件(因此 id = 1 的用户无法看到 id = 2 用户的文件)

我的 Controller 如下所示:

<?php
class SiteController extends Controller
{
...
public function actionVerwal()
{
$model=new USER;
$model2=new USERZ;
$this->render('verwal',array('model'=>$model,'model2'=>$model2));
}
...
}

我的 View verwal.php:

<?php
$dataProvider=new CActiveDataProvider($model2);
?>

<h1>List of Your Files<i></h1>

$this->widget('zii.widgets.grid.CGridView', array(
'dataProvider'=>$model2->a($model2->id)
, 'columns'=>array(
'id', 'zname', 'USER_id'
)
));
...
?>

我的模型 USERZ 具有如下所示的功能:

public function a($id)
{ $criteria=new CDbCriteria;
$criteria->compare('USER_id', $id);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}

所以我得到的是包含所有文件的列表。我不知道如何更改 USER_id 与登录用户的 ID 的比较,以便我可以获得正确的文件,而不是全部

最佳答案

嗯,$criteria->compare('USER_id', $id, true); 为什么在这里使用第三个参数?删除它或设置为 false。它

$partialMatch whether the value should consider partial text match (using LIKE and NOT LIKE operators). Defaults to false, meaning exact comparison.

要在 Yii 中获取登录的用户 ID,您可以使用 Yii::app()->user->getId();

关于php - 登录用户的 Yii 私钥,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28746309/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com