мое приложение имеет 2 таблицы в 1 DB. Один из них называется USER (id, uname, pw, role), другой - USERZ (id, files, USER_id, name) для файлов. Существует отношение HAS_MANY и BELONGS_To к обеим таблицам.Yii privatekey of Записанный пользователем
Я вижу Дисплей пользователей и все файлы. Но то, что я whant сделать, чтобы увидеть только файлы для каждого пользователя (так что пользователь с идентификатором = 1 не может видеть файлы от пользователя с идентификатором = 2)
Мой контроллер выглядит следующим образом:
<?php
class SiteController extends Controller
{
...
public function actionVerwal()
{
$model=new USER;
$model2=new USERZ;
$this->render('verwal',array('model'=>$model,'model2'=>$model2));
}
...
}
Мой Вид 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'
)
));
...
?>
My Model USERZ имеет FUNKTION которым выглядит следующим образом:
public function a($id)
{ $criteria=new CDbCriteria;
$criteria->compare('USER_id', $id);
return new CActiveDataProvider($this, array(
'criteria'=>$criteria,
));
}
Итак, я получаю список со всеми файлами. Я не знаю, как изменить сравнение USER_id только с идентификатором от зарегистрированного пользователя USER, поэтому я могу получить файлы с жестким диском и не все
Я удалил его, он был leftbehind от другой вещи я whanted проверить. Но это ничего не меняет. Спасибо за объяснение – GEnGEr
ok i changed - 'dataProvider' => $ model2-> a ($ model2-> id) - до \t 'dataProvider' => $ model2-> a (Yii :: app() -> user-> getId()), но теперь ни один идентификатор не подходит ... и я думаю, что его, потому что, если я эхо Yii :: app() -> user-> getId(), я получаю uname instad id – GEnGEr
Хм это должно Это не так ... Проверьте класс UserIdentity и выполните поиск того, что вы сохраняете до свойства id ($ this -> _ id). –