【问题标题】:How to show in a view using foreach, laravel?如何使用foreach,laravel在视图中显示?
【发布时间】:2019-04-19 01:34:37
【问题描述】:

这是blade.php

<h1> Cadastro de clientes </h1>

<hr/>

@if(count($cliente)>0)
<ul>
@foreach($cliente as $cliente)
    <li>{{$nome->nome}}</li>
    <li>{{$endereco->endereco}}</li>
    <li>{{$email->email}}</li>
    <li>{{$celular->celular}}</li>
@endforeach
</ul>
@else
    <h4>Não há clientes</hr>
@endif

这是模型:

<?php

namespace App;

Use Illuminate\Database\Eloquent\Model;

class Cliente extends Model{

    protected $table = 'cliente';
    public $timestamps = false;
}

这是控制器:

<?php
namespace App\Http\Controllers;

use App\Http\Controllers\Controller;

use Illuminate\Http\Request;

use App\Cliente;

class CadCliController extends Controller {

    public function cadCli() {
        $cliente = Cliente::all();

        $array = array('cliente'=>$cliente);


        return view('cadCli', $array);
    }

我无法在 foreach 上显示表格。继续显示变量名称未定义的错误。能否请你帮忙?............................................. ......................................

【问题讨论】:

  • 没有“nome”变量传递给您的视图,您希望您的视图从哪里获取它?
  • 来自客户表

标签: laravel foreach


【解决方案1】:

您应该能够更改您的@foreach 循环。在典型的@foreach 循环中,您正在循环一组记录以显示有关每条单条记录的信息。这就是为什么您通常会看到@foreach($records as $record)

我不确定你的语言中“cliente”的单数版本是什么,所以我使用了client。然后,您从单个客户记录中调用nomeendereco 等。看看这个@foreach 是否有帮助:

@foreach($cliente as $client)
    <li>{{$client->nome}}</li>
    <li>{{$client->endereco}}</li>
    <li>{{$client->email}}</li>
    <li>{{$client->celular}}</li>
@endforeach

【讨论】:

  • 只是因为我创建了表和名为 cliente 的模型。谢谢,它有帮助。[
【解决方案2】:

首先,如果您要返回一组元素,请与您使用的变量名称保持一致(使用clientes 而不是cliente):

class CadCliController extends Controller {

    public function cadCli() {
        $clientes = Cliente::all();

        return view('cadCli', ['clientes' => $clientes]);
    }
}

现在,在您看来,如果您在 @foreach 声明中看到,您正在这样做:

...
@if(count($cliente)>0)
    <ul>
    @foreach($cliente as $cliente)
        <li>{{$nome->nome}}</li> // <---------
        <li>{{$endereco->endereco}}</li> // <---------
        <li>{{$email->email}}</li> // <---------
        <li>{{$celular->celular}}</li> // <---------
    @endforeach
    </ul>
@else
...

如您所见,这些变量($nome$endereco 等)不存在,因为您将 $clientes 数组的每个项目都定义为 $cliente,所以我认为这些是每个项目的属性对象:

...
@if(count($cliente)>0)
    <ul>
    @foreach($clientes as $cliente)
        <li>{{$cliente->nome}}</li> // <---------
        <li>{{$cliente->endereco}}</li> // <---------
        <li>{{$cliente->email}}</li> // <---------
        <li>{{$cliente->celular}}</li> // <---------
    @endforeach
    </ul>
@else
...

【讨论】:

  • 谢谢,它有帮助。我如何并排打印它们?循环?因为我正在做一个列表。
  • @HeitorMourão 你的意思是像一张桌子吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-08-27
  • 1970-01-01
  • 2018-05-30
  • 2022-01-15
  • 1970-01-01
  • 1970-01-01
  • 2021-08-08
相关资源
最近更新 更多