2017-02-07 9 views
0

コントローラー "user"からマイモデル "Pmodel"に値を送信していますが、値がモデルに渡されず空の配列。私はcodeignitor.sorryでjoinクエリを呼び出すためにこの値を使用する必要があります。私は最近このコードでcodeignitor.lookで作業を開始しました。コントローラーからモデルcodeignitorに値を渡そうとしているときに空の配列を取得しています

ユーザーコントローラー:私は私の見解で値にアクセスしようとすると、

public function profile_user() 
    { 
     if ($this->session->userdata('data') === NULL) 
    { 

     return redirect('user/login_invalid'); 
    } 
    else 
    { 

     $this->load->model('Pmodel'); 
     $email['product']=$this->Pmodel->Profile_model('$email'); 
     $this->load->view('dashboard/profile',$email); 

    } 
    } 


Pmodel Model: 


public function profile_model($cache) 
    { 

     $email=$cache['email']; 

    $query=$this->db->where(['user_data.email'=>$email]) 
     ->from('user') 
     ->join('user_data', 'user_data.email = user.email') 
     ->get();  

    $q= $query->result_array(); 
    print_r($q); 
    exit(); 
    return $q; 
    } 

は、今では空の配列を示しています。ここ はテーブルenter image description here であり、ここでenter image description here

user_dataの表は、以下のようにモデル化するためのデータを挿入するためのフォーム

<div class="main-login main-center" id="login"> 
    <?php echo form_open('user/login_user',['class'=>'form-horizontal']) ?> 
    <?php if($error=$this->session->flashdata('Login_failed')): ?> 
      <div class="alert alert-dismissible alert-danger"> 

    <?= $error ?> 
</div> 
<?php endif; ?> 
    <div class="form-group"> 
       <label for="email" class="cols-sm-2 control-label">Your Email</label> 
       <div class="cols-sm-10"> 
       <div class="input-group"> 
        <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span> 
       <?php echo form_input(['name'=>'email','type'=>'email','class'=>'form-control','placeholder'=>'Email','id'=>'inputEmail','value'=>set_value('email')]); ?> 
       </div> 
       <div class="error message"> 
    <?php echo form_error('email');?> 
</div> 
       </div> 
      </div> 
<div class="form-group"> 
       <label for="password" class="cols-sm-2 control-label">Password</label> 
       <div class="cols-sm-10"> 
       <div class="input-group"> 
        <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span> 
        <?php echo form_password(['name'=>'password','class'=>'form-control','placeholder'=>'Password','id'=>'inputpassword']); ?> 
       </div> 

<div class="error message"> 
    <?php echo form_error('password');?> 
</div> 
       </div> 
      </div> 
    <div class="form-group "> 
      <?php echo form_submit(['name'=>'login','value'=>'Login','class'=>'btn btn-success btn-lg btn-block login-button']) ?> 
      </form> 
      </div>  


</div> 






     <div class="main-login main-center" id="register"> 
    <?php echo form_open('user/register_data',['class'=>'form-horizontal']) ?> 
    <?php if($sucess=$this->session->flashdata('registration_success')): ?> 
      <div class="alert alert-dismissible alert-success"> 

    <?= $sucess ?> 
</div> 
<?php endif; ?> 
      <div class="form-group"> 
       <label for="name" class="cols-sm-2 control-label">Your Name</label> 
       <div class="cols-sm-10"> 
       <div class="input-group"> 
        <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span> 
        <?php echo form_input(['name'=>'uname','class'=>'form-control','placeholder'=>'Name','id'=>'inputname','value'=>set_value('uname')]); ?> 
       </div> 
       <div class="error message"> 
       <?php echo form_error('uname');?> 
       </div> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label for="email" class="cols-sm-2 control-label">Your Email</label> 
       <div class="cols-sm-10"> 
       <div class="input-group"> 
        <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span> 
       <?php echo form_input(['name'=>'email','class'=>'form-control','placeholder'=>'Email','id'=>'inputEmail','value'=>set_value('email')]); ?> 
       </div> 
       <div class="error message"> 
    <?php echo form_error('email');?> 
</div> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label for="password" class="cols-sm-2 control-label">Password</label> 
       <div class="cols-sm-10"> 
       <div class="input-group"> 
        <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span> 
        <?php echo form_password(['name'=>'password','class'=>'form-control','placeholder'=>'Password','id'=>'inputpassword']); ?> 
       </div> 

<div class="error message"> 
    <?php echo form_error('password');?> 
</div> 
       </div> 
      </div> 

      <div class="form-group"> 
       <label for="confirm" class="cols-sm-2 control-label">Confirm Password</label> 
       <div class="cols-sm-10"> 
       <div class="input-group"> 
        <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span> 
        <?php echo form_password(['name'=>'passconf','class'=>'form-control','placeholder'=>'Confirm Your Password','id'=>'inputpassword']); ?> 
       </div> 
       <div class="error message"> 
    <?php echo form_error('passconf');?> 
</div> 
       </div> 
      </div> 

      <div class="form-group "> 
      <?php echo form_submit(['name'=>'register','value'=>'Register','class'=>'btn btn-success btn-lg btn-block login-button']) ?> 

      </div> 

</div> 
       </form> 

       </div> 
       </div> 

    </div> 
+0

0は、あなたのテーブル –

+0

があなたのテーブル –

+0

第1のインサートのuser_idを追加示すが、私は私の電子メールに応じた値を呼び出していますが、user_dataのテーブル –

答えて

0
add this code in controller register showing function 
$data['all_user '] = $this->Pmodel->SelectAllUser(); 
and pass the $data veriable 

add this code in your model 

    public function SelectAllUser() { 
     $this->db->select('*'); 
     $this->db->from('user'); 
     $query = $this->db->get(); 
     return $query->result(); 
    } 



for register user 
    <div class="main-login main-center" id="register"> 
      <?php echo form_open('user/register_data',['class'=>'form-horizontal']) ?> 
      <?php if($sucess=$this->session->flashdata('registration_success')): ?> 
        <div class="alert alert-dismissible alert-success"> 

      <?= $sucess ?> 
     </div> 
     <?php endif; ?> 
        <div class="form-group"> 
         <label for="name" class="cols-sm-2 control-label">Your Name</label> 
         <div class="cols-sm-10"> 
         <div class="input-group"> 
          <span class="input-group-addon"><i class="fa fa-user fa" aria-hidden="true"></i></span> 
          <?php echo form_input(['name'=>'uname','class'=>'form-control','placeholder'=>'Name','id'=>'inputname','value'=>set_value('uname')]); ?> 
         </div> 
         <div class="error message"> 
         <?php echo form_error('uname');?> 
         </div> 
         </div> 
        </div> 


        <div class="form-group"> 
         <label class="col-md-2">user name</label> 
         <div class="col-md-3"> 
          <select class="form-control" name="user_id"> 
           <?php 
           foreach ($all_user as $user_show): 
            ?> 
           <option value="<?php echo $user_show->id?>"><?php echo $user_show->uname?></option> 
           <?php 
           endforeach; 
           ?> 
          </select> 
         </div> 

        </div> 

        <div class="form-group"> 
         <label for="email" class="cols-sm-2 control-label">Your Email</label> 
         <div class="cols-sm-10"> 
         <div class="input-group"> 
          <span class="input-group-addon"><i class="fa fa-envelope fa" aria-hidden="true"></i></span> 
         <?php echo form_input(['name'=>'email','class'=>'form-control','placeholder'=>'Email','id'=>'inputEmail','value'=>set_value('email')]); ?> 
         </div> 
         <div class="error message"> 
      <?php echo form_error('email');?> 
     </div> 
         </div> 
        </div> 

        <div class="form-group"> 
         <label for="password" class="cols-sm-2 control-label">Password</label> 
         <div class="cols-sm-10"> 
         <div class="input-group"> 
          <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span> 
          <?php echo form_password(['name'=>'password','class'=>'form-control','placeholder'=>'Password','id'=>'inputpassword']); ?> 
         </div> 

     <div class="error message"> 
      <?php echo form_error('password');?> 
     </div> 
         </div> 
        </div> 

        <div class="form-group"> 
         <label for="confirm" class="cols-sm-2 control-label">Confirm Password</label> 
         <div class="cols-sm-10"> 
         <div class="input-group"> 
          <span class="input-group-addon"><i class="fa fa-lock fa-lg" aria-hidden="true"></i></span> 
          <?php echo form_password(['name'=>'passconf','class'=>'form-control','placeholder'=>'Confirm Your Password','id'=>'inputpassword']); ?> 
         </div> 
         <div class="error message"> 
      <?php echo form_error('passconf');?> 
     </div> 
         </div> 
        </div> 

        <div class="form-group "> 
        <?php echo form_submit(['name'=>'register','value'=>'Register','class'=>'btn btn-success btn-lg btn-block login-button']) ?> 

        </div> 

     </div> 
         </form> 

         </div> 
         </div> 

      </div> 
+0

しかし、モデル化するコントローラ?どのようなuser_idの追加の使用ですか? –

+0

2つのテーブルを結合するためにuser_idを挿入する必要があります –

+0

実際にテーブルにデータを挿入するときに、同時に 'user'と 'user_data'という2つのテーブルにデータを挿入しています。だから私はidの代わりにuser_idを使うことができますか? –

0

パスの電子メール変数である -

public function profile_user() { 
    if ($this->session->userdata('data') === NULL) { 
     return redirect('user/login_invalid'); 
    } else { 
     $this->load->model('Pmodel'); 
     // no need to pass variable in qoutes 
     $email['product'] = $this->Pmodel->Profile_model($email); 
     $this->load->view('dashboard/profile',$email); 
    } 
} 

を更新します下記のモデル -

関連する問題