

CakePHPでデータベースからusernameを検索機能を使い表示させる機能を作成しているのですが、

[code]

    Notice (8): Undefined variable: users [APP/View/User/find.ctp, line 6]
    Warning (2): Invalid argument supplied for foreach() [APP/View/User/find.ctp, line 6]
    
[/code]

というエラーで止まっています。  
かなり初歩的なエラーだとは思うのですが、解決方法をご教授頂けると幸いです。

[code]

    <div class="row-fluid">
    <div class="span9">
    
       <table class="table">
    
       <?php foreach($users as $user): ?>//////エラー箇所
            <tr>
                <td><?php echo h($user['users']['id']); ?></td>
                <td><?php echo $this->Html->link($user['users']['username'],'/users/find/');?></td>
            </tr>
       <?php endforeach;?>
    
      </table>    
    </div>
    <div class="span3">
        <div class="well" style="margin-top:20px;">
        <?php echo $this->Form->create('Users',array('url'=>'find')); ?>
        <fieldset>
            <legend>Search user</legend>
        </fieldset>
        <?php echo $this->Form->input('username', array('label' => 'Enter Username', 'class' => 'span12', 'empty' => true)); ?>
        <?php echo $this->Form->end('Search'); ?>
        </div>
    </div>
    
[/code]


CC BY-SA 4.0
2019-06-11T17:37:27.630
55710
2019-06-11T17:51:49.917
2019-06-11T17:40:59.360
3060
34463
question
php cakephp
foreach内のInvalid valuableエラーを解決したいです。


`Undefined variable: users` は「users という変数が定義されていません」と怒られています。  
提示されたコードの範囲ではエラーの通り`foreach`文で参照するまでに`users`が定義されていません。

続くワーニングも上記の通り「未定義の配列=空の配列」を参照しているから起きているものと思われます。

検索と結果の表示を同じページで行うなら、「まだ何も検索を行っていない場合」を考慮してあげれば良さそうです。


CC BY-SA 4.0
2019-06-11T17:51:49.917
55711
2019-06-11T17:51:49.917
3060
55710
answer