2015-04-06 24 views
-2

我是yii的開胃菜。我正在建立一個基本結構 - 一名員工。我正在上傳他們的圖像並將圖像名稱保存在數據庫中,並將其顯示在我的視圖頁面上。但我想將圖像名稱更改爲員工ID。如何保存身份證號碼。作爲yii中的圖像名稱?

對於防爆:

desert.jpg更改01.jpg或任何其他僱員的ID。

請幫幫我。

控制器:

public function actioncreate(){ 
    $dept_list = department_mod::model()->dept_list(); 
    $data['dept_list'] = CHtml::listData($dept_list,'value', 'text'); 

    $team_list = team_mod::model()->team_list(); 
    $data['team_list'] = CHtml::listData($team_list,'value', 'text'); 

    $des_list = employee_mod::model()->des_list(); 
    $data['des_list'] = CHtml::listData($des_list,'value', 'text'); 

    $report_to_list = report_to_mod::model()->report_to_list(); 
    $data['report_to_list'] = CHtml::listData($report_to_list,'value', 'text'); 

    $model_upload = new upload_mod; 
    $data['model_upload'] = $model_upload;   

    $this->render('create',$data); 
} 


public function actionsave(){ 
    $q = Employee_mod::model()->data_save($_POST); 

    $data = $_POST; 
    $exp = 'profile'; 

    $emp_upload_path = 'assests/images/'; 
    $p = $emp_upload_path; 

    echo $p; 

    if (!is_dir($p)) { 
     mkdir($p,0777); 
    } 

    $path = $p.$exp.'/'; 

    if (!is_dir($path)) { 
     mkdir($path,0777); 
    } 

    $model_upload = new upload_mod; 
    $file_name = ""; 
    $model_upload->upload_file = CUploadedFile::getInstance($model_upload,'userfile'); 

    if($model_upload->validate()) { 
     $model_upload->upload_file->saveAs($path . $model_upload->upload_file); 
     $file_name = $model_upload->upload_file; 
    }else{ 
     var_dump($model_upload->getErrors()); 
    } 

    $data['file_name'] = $file_name; 
    $q = Employee_mod::model()->imagesave($q , $file_name);  
    $this->redirect(array('employee/list')); 

MODEL:

function data_save($data) 
{ 
    $input = array(
     'first_name' => $data['first_name'], 
     'middle_name' => $data['middle_name'], 
     'last_name' => $data['last_name'], 
     'email' => $data['email'], 
     'cnic' => $data['cnic'], 
     'dob' => $data['dob'], 
     'department' => $data['dept_id'], 
     'location' => $data['location'], 
     'created_by' => 'admin', 
     'team' => $data['id'], 
     'des' => $data['des_id'], 
     'report_to' => $data['id'], 
     'joining_date' => $data['joining_date'], 
    ); 

    $q = Yii::app()->db->createCommand(); 
    $q->insert('emp',$input); 

    $insert_id = Yii::app()->db->getLastInsertID(); 
    return $insert_id; 
} 

function imagesave($empno , $file_name) 
{ 
    $file = array(
     'image' => $file_name 
    ); 

    $q = Yii::app()->db->createCommand(); 
    $q->update('emp', $file, 'empno=' . $empno); 
} 

function imageeditsave($empno , $file_name) 
{ 
    $file = array(
     'image' => $file_name 
    ); 

    $q = Yii::app()->db->createCommand(); 
    $q->update('emp', $file, 'empno=' . $empno); 
} 

function data_editsave($data,$emp_no) 
{ 
    $input = array(
     'first_name' => $data['first_name'], 
     'middle_name' => $data['middle_name'], 
     'last_name' => $data['last_name'], 
     'email' => $data['email'], 
     'cnic' => $data['cnic'], 
     'dob' => $data['dob'], 
     'department' => $data['dept_id'], 
     'location' => $data['location'], 
     'created_by' => $data['created_by'], 
     'team' => $data['id'], 
     'des' => $data['des_id'], 
     'report_to' => $data['id'], 
     'joining_date' => $data['joining_date'], 
    ); 

    $q = Yii::app()->db->createCommand(); 
    $q-> update('emp',$input,'empno =' . $emp_no); 

    $insert_id = Yii::app()->db->getLastInsertID(); 
    return $insert_id; 
} 
+0

說真的,您沒有看過自己的代碼:$ model_upload-> upload_file-> saveAs(...); – crafter 2015-04-09 15:31:59

回答

0

的問題是在這裏:

$q = Yii::app()->db->createCommand(); 
$q->update('emp', $file, 'empno=' . $empno); 

update是一個ActiveRecord的方法和你正在使用它與createCommand!您需要將該代碼更改爲:

Employee_mod::model()->updateByPk($empno, array('image' => $file_name)); 
相關問題