微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

php – 如何在Laravel的一个html表中运行两个foreach循环?

我想在一个表中动态显示两个foreach循环数据,但是在动态循环数据之后表的设计会中断.
我的blade.PHP代码如下:

<table>
  <tr>
     <th>Name</th>
     <th>Buy Rate</th>
     <th>Sell Rate</th>
  </tr>
  <tr>
   <?PHP foreach($datav as $data){ ?>
     <td><?PHP echo $data->name; ?></td>
     <td><?PHP echo $data->buy_rate; ?></td>
   <?PHP } ?>
  <?PHP foreach($sells as $sell){ ?>
     <td><?PHP echo $sell->rate; ?></td>
  </tr>
  <?PHP } ?>
</table>

我的路线是:

Route::get('/','WelcomeController@test');

我的控制器代码

public function test(){

$datav= DB::table('localcurrency')
              ->where('status',1)
              ->get();
$sells= DB::table('localcurrency2')
              ->where('status',1)
              ->distinct()
              ->get();

return view('home.home_content')
        ->with('datav',$datav)
        ->with('sells',$sells);

}

我该怎么办呢?

解决方法:

如果在一个数组中合并$datav和$sells会更好.

在上面的场景中,首先你的$datav数组将完成然后它转到第二个数组.

所以它不会创建一个完整的表.或者表格对齐是错误的.

休息取决于你在阵列中进行的操作.

public function test(){

$datav= DB::table('localcurrency')
          ->where('status',1)
          ->get();
$sells= DB::table('localcurrency2')
          ->where('status',1)
          ->distinct()
          ->get();
$sells=$sells->toArray();
$results=array();
foreach($datav as $key=>$data)
{
   $newarr=array();
   $newarr['name']=$data->name;
   $newarr['buy_rate']=$data->buy_rate;
   $newarr['sell_rate']=$sells[$key]->rate;
   $results[]=$newarr;
}
return view('home.home_content')
    ->with('results',$result);

}

你的观点看起来像这样

<table>
   <tr>
    <th>Name</th>
    <th>Buy Rate</th>
    <th>Sell Rate</th>
   </tr>
   @foreach($results as $result)
     <tr>
         <td>{{$result['name']}}</td>
         <td>{{$result['buy_rate']}}</td>
         <td>{{$result['sell_rate']}}</td>
    </tr>
  @endforeach

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐