2017-07-03 2 views

答えて

0

あなたのユーザーのためのモデルを作成することにより、それを行うことができます。最も簡単な方法は、SQL結合を使用してモデル内に単一のメソッドを作成することですが、私は異なるタイプのデータに対して別々のメソッドを持つことを好みます。

class User_model extends CI_Model { 
     public $User_id; 
     public $Lname; 
     public $Fname; 
     public $Timestamp; 

     public function __construct($id = null){ 
      parent::__construct(); 
     } 

     public function getUserByID($id){ 
      $query = $this 
         ->db 
         ->from('Users') 
         ->where('User_id', $id) 
         ->get(); 
      $results = $query->result(); 
      if(count($result) > 0){ 
       return $result[0]; 
      } 
     } 

     public function getUserPicturesByID($id){ 
      $query = $this 
         ->db 
         ->from('Images') 
         ->where('User_id', $id) 
         ->get(); 
      $results = $query->result(); 
      if(count($result) > 0){ 
       return $result; 
      } 
     } 


     public function getAllUserDataByID($id){ 
      $query = $this 
         ->db 
         ->from('Users') 
         ->join('Images', 'Users.User_id = Images._User_id') 
         ->where('User_id', $id) 
         ->get(); 
      $results = $query->result(); 
      if(count($result) > 0){ 
       return $result[0]; 
      } 
     } 

    } 

あなたがアプリケーション/設定/ autoload.phpファイルにモデル名を追加することにより、自動ロードモデルをすることができますか、あなたのコントローラからモデルをロードすることができます。

$this->load->model('User_model'); 

次にあなたがこの

$user = $this->User_model->getUserByID(1); 
    $userPictures = $this->User_model->getUserPicturesByID(1); 

ようなあなたのコントローラでモデルのメソッドを呼び出すと、このようなビューにデータを渡すことができます。

$data = array(
      'user' => $user, 
      'pictures' => userPictures 
      ); 
    $this->load->view('user_view', $data); 

...とあなたのビューにすることができます

echo $user->Fname; 

またはforeachループ内の画像:

foreach($pic in $pictures){ 
     echo '<img src="', $pic->ImagePath, '" />'; 
    } 
+0

help @siniša-dragičević-martinčić – Alpesh

関連する問題