【问题标题】:passing value to blade without use of foreach在不使用 foreach 的情况下将值传递给刀片
【发布时间】:2019-09-08 15:19:42
【问题描述】:

我正在尝试使用刀片文件表中的键获取单行值。它如何传递价值给它。 我已经使用 foreach 在另一个刀片文件中获取了整个表

我已经从我的控制器传递了数据,但它无法识别它们。

loaninterest.blade.php

<div class="col-md-12">   
<table class="table table-stripped">
<thead>
  <tr>   
  <th>Loan Id</th>
  <th>Member</th> 
  @for($i=0;$i<$loan->duration; $i++ )
  <th>installment</th>
  @endfor
</tr>
<tr>
  <td>{{++$key}}</td>
  <td>{{$loan->member->name}}</td>
 @for($i=0;$i<$loan->duration; $i++ )
 <td> {{$loan->interest_amount}}  </td>
 @endfor
</tr>
  </thead>
  </table>
 </form>
        </div>

LoanController.php

  public function loanInterest(){
    $loanData = Loan::all();
    //$findUser =Loan::findOrFail($criteria);
    return view($this->_pagePath.'loan.loaninterest',compact('loanData'));
} 

web.php

 Route::any('loaninterest/{criteria?}','LoanController@loanInterest')-> name('loaninterest');

我调用loaninterest刀片文件如下

loan.blade.php

   <td>
    <a href="{{route('loaninterest').'/'.$loan->id }}">Interest detail</a> 
  </td>

我如何在刀片中传递贷款数据。我得到这个错误

Undefined variable:loan   

【问题讨论】:

    标签: laravel eloquent laravel-blade


    【解决方案1】:

    为什么在使用路由时要传递url

    <a href="{{route('loaninterest', $loan->id) }}">Interest detail</a> 
    
    public function loanInterest(){
            // $loanData = Loan::all();
            $loanData =Loan::findOrFail($criteria); // or your where condition
            return view($this->_pagePath.'loan.loaninterest',compact('loanData'));
    } 
    

    在控制器中,您正在查询表中的所有数据,但您只需要一个数据,因此您必须使用唯一 ID 执行 findOrFail 或使用 firstOrFail

    试试这个。

    希望这会有所帮助:)

    【讨论】:

    • 我已经在loan.blade.php 中进行了建议的更改,我使用了路由,因为我通过控制器函数传递了值。错误是一样的。
    • 是的,我做了更改,但我仍然需要从刀片文件中调用它,对吗??像 {{$loanData }} 或类似的东西。错误是一样的。
    • 你只需要调用你的数据列,比如{{ $loanData-&gt;something }}
    • 成功了,谢谢。我只是在复制代码并搞砸了。
    【解决方案2】:

    路由参数在单独的数组中发送试试下面的代码 语法是

      route('routename', [parameter1, paramater2])
    

    查看docs

    你可以试试

    <a href="{{route('loaninterest', ['load' => $loan->id]) }}">Interest detail</a> 
    

    用于在视图中显示贷款数据

     public function loanInterest(){
        $loanData = Loan::all();
        return view($this->_pagePath.'loan.loaninterest', compact('loanData')); //verify if $this->pagePath etc is correct
    } 
    

    在视图中

    @foreach ( $loanData as $loanDeta )
        {{ $lanData->interest_amount }}
    @endforeach
    

    【讨论】:

    • 在获取所有数据时是否需要从类似于@foreach($loanData as $key 的刀片文件中调用它
    • @PrithviTuladhar 用于创建参数化路由 url 这是代码,用于集合遍历,是的,您可以根据您的要求使用 @foreach@for 刀片标签。如果对您有帮助,您可以点赞。
    • 我想这会给所有贷款的利息。这就是为什么我一开始没有使用@foreach。无论如何,谢谢我发现了我的错误。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-22
    • 1970-01-01
    相关资源
    最近更新 更多