【问题标题】:My foreach loop is not working as the previous I've done我的 foreach 循环不像以前那样工作
【发布时间】:2020-02-02 08:14:33
【问题描述】:

我是 Laravel 的新手(也是 StackOverflow 的新手),我正在尝试使用 foreach 循环在 PhpMyAdmin 的 home.blade.php 表中显示数据。但是,它无法正常工作,我无法弄清楚问题出在哪里。我还有其他使用 foreach 的表,并且我对这个表执行了相同的步骤。

用户模型

protected $table = 'users';

protected $fillable = ['id','name','edad','direccion_personal','celular','foto','email','direccion_sucursal_id'];

用户控制器

public function index()
{
    $Usuarios = User::all();
    $array = ['usuarios' => $Usuarios];

    return view('home')->with($array);
}

最后,这是我的身体:

<tbody>
@foreach ($usuarios as $Usuarios)
    <div>
        <tr>
            <th scope="row" style="text-align:center;">{{ $Usuarios->id }}</th>
            <td style="text-align:center;">{{ $Usuarios->nombre }}</td>
            .
            .
            .
        </tr>
    </div>
</tbody>
@endforeach

【问题讨论】:

  • but It's not working correctly and I can't find where's the problem. 那么有什么问题吗? XD有什么错误吗?请记住div 并不意味着在tbody 中,只有tr 包含td。见w3schools for table
  • 谢谢,我要删除div 标签。根据 Laravel 的错误页面:“未定义变量:”Usuarios”。我已经根据用户模型和 UserController@index 重命名了它,但无论如何它没有显示数据。
  • 是在编译好的刀片中还是在控制器中?如果它在编译好的刀片中,如果我没记错的话,你可以开火php artisan view:clear。或者干脆删除storage/app中的视图文件夹@

标签: html laravel foreach laravel-6


【解决方案1】:

您的 foreach 在 &lt;/tbody&gt; 标记之外关闭,并在其中打开。因此,您的表格主体在循环的第一次迭代后关闭,并且不再打开,因此每次迭代您现在都有一个额外的 &lt;/tbody&gt; 行。这是无效标记,会破坏您网站的输出。

【讨论】:

    【解决方案2】:

    为什么是数组?

        public function index(){
            $usuarios = User::all();
            return view('home', compact('usuarios'));
        }
    
    

    然后:

    <tbody>
    
    @foreach ($usuarios as $us)
     <div>
      <tr>
        <th scope="row" style="text-align:center;">{{$us->id}}</th>
        <td style="text-align:center;">{{$us->nombre}}</td>
           .
           .
           .
      </tr>
     </div>
    @endforeach
    </tbody>
    

    【讨论】:

    • 你是对的!它工作得很好!此外,我不得不说我已经创建了一个 UserControler 来执行它,但是,我必须使用 HomeController 然后我按照您的说明进行操作,并且效果很好!非常感谢!
    • 太棒了!很高兴我能帮上忙。
    【解决方案3】:

    我发现您在使用 foreach 循环时遇到了问题。无法正常工作...但是,我不确定是什么类型的问题...如果我的回答对您不起作用,请更新您的问题以便获得更多帮助

    我看到你关闭了你的 foreach 循环。 这样一来,您将以许多结束标签结束,只需一个开头...

    尝试将关闭标签移到循环之外

    <tbody>
    @foreach ($usuarios as $Usuarios)
     <div>
      <tr>
        <th scope="row" style="text-align:center;">{{$Usuarios->id}}</th>
        <td style="text-align:center;">{{$Usuarios->nombre}}</td>
           .
           .
           .
      </tr>
     </div>
    @endforeach
    </tbody>

    【讨论】:

      猜你喜欢
      • 2021-05-10
      • 1970-01-01
      • 1970-01-01
      • 2022-06-12
      • 2018-01-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2022-11-12
      相关资源
      最近更新 更多