第二次嵌套的Foreach不打印

时间:2016-09-18 03:05:37

标签: php laravel

我需要列出每个项目的列表,国家打印正常,但第二个foreach打印任何我不明白的

   $countries = array('abc','def','ghi' );
    foreach ($countries as $key) {
        echo "<ul> ".$key;
                $character = characters::where('country',$key);
                foreach ($personaje as $p) {
                   echo $ch->name ;
                }
        echo "</ul>";
    }

它应该是这样的,我100%保证桌子的名字和$ key匹配,我是用工匠的修补器做的

  • abc {
    -x
    -y
    }}
  • def {
    -z
    }
  • ghi {
    }

2 个答案:

答案 0 :(得分:1)

试试这个:

$countries = array('abc','def','ghi' );
foreach ($countries as $key) {
    echo "<ul> ".$key;
            $character = characters::where('country',$key)->get();
            foreach ($character as $ch) {
               echo $ch->name ;
            }
    echo "</ul>";
}

答案 1 :(得分:0)

根据您提供的代码段,此部分代码存在许多问题:

        $character = characters::where('country',$key);
        foreach ($personaje as $p) {
           echo $ch->name ;
  1. 看起来您正在尝试进行查询以获取$字符 变量,但你没有执行它。添加“get”到结尾 语句:

    $ character = characters :: where('country',$ key) - &gt; get();

  2. 您的第二个foreach循环使用变量 $ personaje ,其中 尚未定义,至少在您提供的代码中。应该 它是 $ character

  3. 你的foreach循环使用“$ personaje as $ p”,但你永远不会使用 循环中变量 $ p 。相反,您回应 $ ch-&gt;名称。该 您提供的代码中不存在变量 $ ch