2017-09-05 2 views
0

私は2つのテーブルのユーザーとサブジェクトを持っていますテーブル1に関連するテーブル2のすべてのデータを印刷するには

ユーザーには、このフィールドのユーザー名、ID、電子メールなどがあります。 被験者は、この分野の数学、英語、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] 

Iを/

を持っていますビューのグレードをクリックすると、以下のデータが出力されます。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しよう。 in grade.ctp view私は、上記のデータを得ました。これは、subjectフィールドを含む正しいものです。しかし、どのようにあなたのデータをオブジェクト形式であるので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

次回まで、このフレームワークを学ぶために長い旅をしてくれてありがとうございました。 – distromob

関連する問題