【问题标题】:Print specific data to blade view将特定数据打印到刀片视图
【发布时间】:2020-05-20 00:39:57
【问题描述】:

我找不到如何在blade.view 上打印数据。我在overview.blade.php 上有一个“客户”列表,我有一个按钮可以根据他们的“nCustomerID”(对我来说是blade.view)重定向到他们的个人资料。

当我在blade.view 页面上使用转储功能时,确实会为我的数据库中的每个“客户”显示正确的数据,但我不知道如何在blade.view 上打印它。希望获得一些文档或解释以供阅读。

控制器:

    public function show($id)
    {
        $oCustomer = Customer::getCustomer($id);
        return view('Customers.view', ['nCustomerID' => $id]);
    }

【问题讨论】:

  • 你为什么要通过$id查看?你应该通过$oCustomer 然后在视图上打印它
  • @Moshiur 我对 laravel 有点陌生,这就是我发现它工作的方式(不像它看起来的那样)。我会编辑它。

标签: php mysql laravel


【解决方案1】:

使用 Compact() 方法在 Laravel blade 视图中显示数据。

public function show($id)
{
    $oCustomer = Customer::getCustomer($id);
    return view('Customers.view',compact('oCustomer');
}

在视图中尝试这种方式。

 /*if oCustomer is a collection */
 @foreach($oCustomer as $customer)
     {{$customer->name}}
 @endforeach

 /* if oCustomer is a single object*/
 {{$oCustomer->name}} or {{$oCustomer[0]->name}}

【讨论】:

  • 谢谢,这对我有点帮助。你有没有机会帮助我提供其他数据(如姓名)?或者给我一个正确的方向? @Gabrielle-M
【解决方案2】:

使用下面的代码打印 id

{{ $nCustomerID }}

【讨论】:

    【解决方案3】:

    在控制器中使用 compact() 将变量或数据传递到刀片文件中。

    public function show($id)
    {
        $oCustomer = Customer::getCustomer($id);
        return view('Customers.view', compact(['oCustomer','id]));
    }
    

    在刀片中

    {{$oCustomer}}
    {{$id}}
    

    了解详情 https://laravel.com/docs/6.x/blade

    【讨论】:

    • 好吧,我试过了,但现在我得到了这个错误:htmlspecialchars() 期望参数 1 是字符串,给定对象(视图:Path\view.blade.php)。有什么方法可以打印为对象吗?
    【解决方案4】:

    你也可以在控制器中使用数组传递变量

    public function show($id)
    {
       $oCustomer = Customer::getCustomer($id);
       return view('Customers.view',['data'=>$oCustomer]);
    }
    

    在你查看文件

    {{$data}}
    

    【讨论】:

      猜你喜欢
      • 2017-02-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-07-22
      • 2019-11-13
      • 2017-09-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多