首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在Laravel中的一个html表中运行两个foreach循环?

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

Stack Overflow用户
提问于 2019-03-18 17:16:01
回答 2查看 6.8K关注 0票数 4

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

代码语言:javascript
复制
<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>

我的路线是:

代码语言:javascript
复制
Route::get('/','WelcomeController@test');

我的主计长代码:

代码语言:javascript
复制
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);

}

我该怎么做呢?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2019-03-18 17:25:52

最好将$datav和$sells合并在一个数组中。

在上述场景中,首先您的$datav数组将完成,然后再转到第二个数组。

因此,它不会创建一个完整的表。否则表对齐就错了。

Rest取决于您在数组中进行的操作。

代码语言:javascript
复制
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);

}

你的观点如下

代码语言:javascript
复制
<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

​

票数 3
EN

Stack Overflow用户

发布于 2019-03-18 18:18:25

  • 您最好使用刀片模板引擎语法@foreach($values as $value) {{$value}} @endforeach。
  • 你最好知道你想得到什么样的输出结构
  • 在这种情况下,您的任务没有得到解决,因为如果您想要填充 一个表一行一个数据,这个数据应该是一对一的关系,所以你应该在一个周期内去做。
  • 您不能先填充表的前两列的每个值,然后再填充另一列的值。表应逐行填充。
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55226731

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档