2013-08-19 2 views
-1

Мне нужно получить список данных при выборе user_id..i означает, когда я выбираю идентификатор пользователя 1, мне нужно получить все поле данных, связанное с идентификатором пользователя 1 .. i Прилагаю мой файл управляющего файла для этого Теперь я ударил в этой проблеме .еГо, м новее в Yii еще дают мне РастворGET данные из БД с использованием User_id

может у описать, как реализовать контроль & просмотра файл для этого

вот мой DB & Controll файл

CREATE TABLE IF NOT EXISTS `offer_company` (
    `id` int(60) NOT NULL AUTO_INCREMENT, 
    `company_name` varchar(150) NOT NULL, 
    `contact_detail` text NOT NULL, 
    `User_id` int(10) NOT NULL, 
    `created` varchar(60) NOT NULL, 
    `modified` varchar(60) NOT NULL, 
    `Active` varchar(25) NOT NULL, 
    PRIMARY KEY (`id`), 
    KEY `User_id` (`User_id`) 
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=39 ; 

PHP код

<?php 

class OfferCompanyController extends Controller 
{ 
/** 
* @var string the default layout for the views. Defaults to '//layouts/column2', meaning 
* using two-column layout. See 'protected/views/layouts/column2.php'. 
*/ 
public $layout='//layouts/column2'; 

/** 
* @return array action filters 
*/ 
public function filters() 
{ 
    return array(
     'accessControl', // perform access control for CRUD operations 
     'postOnly + delete', // we only allow deletion via POST request 
    ); 
} 

/** 
* Specifies the access control rules. 
* This method is used by the 'accessControl' filter. 
* @return array access control rules 
*/ 
public function accessRules() 
{ 
    return array(
     array('allow', // allow all users to perform 'index' and 'view' actions 
      'actions'=>array('index','view'), 
      'users'=>array('*'), 
     ), 
     array('allow', // allow authenticated user to perform 'create' and 'update' actions 
      'actions'=>array('create','update'), 
      'users'=>array('@'), 
     ), 
     array('allow', // allow admin user to perform 'admin' and 'delete' actions 
      'actions'=>array('admin','delete'), 
      'users'=>array('admin'), 
     ), 
     array('deny', // deny all users 
      'users'=>array('*'), 
     ), 
    ); 
} 

/** 
* Displays a particular model. 
* @param integer $id the ID of the model to be displayed 
*/ 
public function actionView($id) 
{ 
    $this->render('view',array(
     'model'=>$this->loadModel($id), 
    )); 
} 

/** 
* Creates a new model. 
* If creation is successful, the browser will be redirected to the 'view' page. 
*/ 
public function actionCreate() 
{ 
    $model=new OfferCompany; 

    // Uncomment the following line if AJAX validation is needed 
    // $this->performAjaxValidation($model); 

    if(isset($_POST['OfferCompany'])) 
    { 
     $model->attributes=$_POST['OfferCompany']; 
     if($model->save()) 
      $this->redirect(array('view','id'=>$model->id)); 
    } 

    $this->render('create',array(
     'model'=>$model, 
    )); 
} 

/** 
* Updates a particular model. 
* If update is successful, the browser will be redirected to the 'view' page. 
* @param integer $id the ID of the model to be updated 
*/ 
public function actionUpdate($id) 
{ 
    $model=$this->loadModel($id); 

    // Uncomment the following line if AJAX validation is needed 
    // $this->performAjaxValidation($model); 

    if(isset($_POST['OfferCompany'])) 
    { 

     $model->User_id=Yii::app()->user->id; 
     $model->attributes=$_POST['OfferCompany']; 
     if($model->save()) 
      $this->redirect(array('view','id'=>$model->id)); 
    } 

    $this->render('update',array(
     'model'=>$model, 
    )); 
} 

/** 
* Deletes a particular model. 
* If deletion is successful, the browser will be redirected to the 'admin' page. 
* @param integer $id the ID of the model to be deleted 
*/ 
public function actionDelete($id) 
{ 
    $this->loadModel($id)->delete(); 

    // if AJAX request (triggered by deletion via admin grid view), we should not redirect the browser 
    if(!isset($_GET['ajax'])) 
     $this->redirect(isset($_POST['returnUrl']) ? $_POST['returnUrl'] : array('admin')); 
} 

/** 
* Lists all models. 
*/ 
public function actionIndex() 
{ 
    $model = new OfferCompany('search'); 
     $model->unsetAttributes(); // clear any default values 
     if (isset($_GET['OfferCompany'])) 
     $model->attributes = $_GET['OfferCompany']; 

     $this->render('index', array(
     'model' => $model, 
     )); 
       } 

/** 
* Manages all models. 
*/ 
public function actionAdmin() 
{ 
    $model=new OfferCompany('search'); 
    $model->unsetAttributes(); // clear any default values 
    if(isset($_GET['OfferCompany'])) 
     $model->attributes=$_GET['OfferCompany']; 

    $this->render('admin',array(
     'model'=>$model, 
    )); 
} 

/** 
* Returns the data model based on the primary key given in the GET variable. 
* If the data model is not found, an HTTP exception will be raised. 
* @param integer $id the ID of the model to be loaded 
* @return OfferCompany the loaded model 
* @throws CHttpException 
*/ 

/** 
* Performs the AJAX validation. 
* @param OfferCompany $model the model to be validated 
*/ 
protected function performAjaxValidation($model) 
{ 
    if(isset($_POST['ajax']) && $_POST['ajax']==='offer-company-form') 
    { 
     echo CActiveForm::validate($model); 
     Yii::app()->end(); 
    } 
} 

}

+0

Именно эта часть вас беспокоит? Вы вставили весь свой код, не могли бы вы сосредоточиться на той части, которая терпит неудачу, вы не знаете, как это сделать? Кроме того, я бы рекомендовал взглянуть на это: http://stackoverflow.com/questions/how-to-ask –

ответ

2

этот код поможет вам получить данные из таблицы с текущей user_id пользователя:

$user_id = Yii::app()->user->name;  
$var = Model_name::model()->findByAttributes(array("user_id" => $user_id); 

вы можете получить доступ к значению полей как:

$var->attributes['id']; 

вы можете использовать его даже в своем представлении легко, с foreach на примере. Удача

+0

, если у вас есть «ЛЮБОЙ» другой вопрос об этом, просто спросите –