You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Laravel从数据库取数据生成表格时无法按帖子创建多行问题

解决Laravel表格中所有帖子挤在同一行的问题

嘿,这个问题我之前也踩过坑!看起来你是把帖子的循环逻辑放错位置了——你应该让每一篇帖子对应一个独立的表格行(<tr>),但现在的代码大概率是把所有帖子的内容都塞进了同一个<tr>里,所以才会出现所有数据挤在一行的情况。

错误结构(你可能现在的写法)

比如你可能写成了这样:

<div class="container">
  <section class="row posts">
    <table class="post">
      <tr>
        <th>Title</th>
        <th>Content</th>
        <!-- 其他表头 -->
        @foreach($posts as $post)
          <td>{{ $post->title }}</td>
          <td>{{ $post->content }}</td>
        @endforeach
      </tr>
    </table>
  </section>
</div>

这种写法会把所有帖子的<td>都放在同一个<tr>里,自然就只有一行数据。

正确的写法

你需要把<tr>整个放进@foreach循环里,让每遍历一篇帖子就生成一个新的表格行:

<div class="container">
  <section class="row posts">
    <table class="post">
      <!-- 表头行 -->
      <tr>
        <th>Title</th>
        <th>Content</th>
        <!-- 按需添加其他表头列 -->
      </tr>
      <!-- 每篇帖子对应一个新行 -->
      @foreach($posts as $post)
      <tr>
        <td>{{ $post->title }}</td>
        <td>{{ $post->content }}</td>
        <!-- 对应其他数据列 -->
      </tr>
      @endforeach
    </table>
  </section>
</div>

额外检查点

  1. 确认你的$posts变量确实包含了7条数据:可以在控制器里用dd($posts)打印出来看看,确保数据是正确的。
  2. 检查Blade语法是否正确:@foreach和@endforeach必须成对出现,不能遗漏闭合标签。
  3. 确保没有额外的HTML标签嵌套错误:比如不小心把<tr>放在了<td>里面,这也会导致布局混乱。

按照这个结构修改后,每篇帖子就会单独占据一行,和你预期的一样啦!

内容的提问来源于stack exchange,提问作者KB_Shayan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.25 06:46:27