2017-09-05 63 views
0

我有兩個表用戶和主題如何打印table2中與表1相關的所有數據

用戶有這個字段username,id,email等等。 科目有這個領域的數學,英語,ID,USER_ID,

/UsersController.php/

public function grade($id = null) 
    { 

     $users = $this->Users->get($id, [ 
     'contain' => [ 
      'Subjects' 
     ] 
     ]); 
     $this->set('users', $users); 
     $this->set('_serialize', ['user']); 
     //pr($users);exit; 
    } 

/* grade.ctp/

[![<div class="users view large-10 medium-9 columns"> 
<?php 
//pr($users);exit; 
foreach ($users as $user): ?> 
    <div class="row"> 
     <div class="large-5 columns strings"> 
      <h6 class="subheader"><?= __('Username') ?></h6> 
      <p><?= h($user->username) ?></p> 
      <p><?php echo $this->user->username;?></p> 

     </div> 
     <div class="large-2 columns numbers end"> 
      <h6 class="subheader"><?= __('Id') ?></h6> 
      <p><?= $this->Number->format($user->id) ?></p> 
     </div> 
    </div> 
<?php endforeach; ?> 
</div>][1]][1] 

當我點擊查看等級數據下面將會用pr($ users)輸出

grade

App\Model\Entity\User Object 
(
    [username] => Tyra 
    [password] => 97a8afcf419cc231e1bdcd8584b0a246 
    [id] => 6 
    [email] => [email protected] 
    [profile_pic] => Resource id #196 
    [destination] => 
    [created] => 
    [subjects] => Array 
     (
      [0] => App\Model\Entity\Subject Object 
       (
        [math] => 100 
        [english] => 100 
        [history] => 100 
        [science] => 100 
        [id] => 11 
        [user_id] => 6 
        [[new]] => 
        [[accessible]] => Array 
         (
          [*] => 1 
         ) 

        [[dirty]] => Array 
         (
         ) 

        [[original]] => Array 
         (
         ) 

        [[virtual]] => Array 
         (
         ) 

        [[errors]] => Array 
         (
         ) 

        [[repository]] => Subjects 
       ) 

     ) 

    [[new]] => 
    [[accessible]] => Array 
     (
      [*] => 1 
     ) 

    [[dirty]] => Array 
     (
     ) 

    [[original]] => Array 
     (
     ) 

    [[virtual]] => Array 
     (
     ) 

    [[errors]] => Array 
     (
     ) 

    [[repository]] => Users 
) 

我嘗試PR($用戶);在grade.ctp視圖中我得到了上面的數據,這是正確的,包含主題領域。但如何打印在grade.ctp視圖

回答

0

因爲你的數據是對象格式, 你可以簡單地這樣做:

<?php 
    echo $users->username; // prints username 
    echo $users->email; 
?> 

,並打印主題:

<?php 
    if(!empty($users->subjects)) { 
     foreach($users->subjects as $subject) { 
     echo $subject->math; // prints math 
     echo $subject->english; // etc 
     } 
    } 
?> 

你可以嘗試blog tutorials稍微熟悉一下這些。

+0

爲什麼它沒有打印?我複製了你的代碼 – distromob

+0

你有沒有包含php標籤?看到更新的答案。 –

+0

非常感謝你@Manohar Khadka,直到下一次我有漫長的旅程來學習這個框架。 – distromob

相關問題