передача значения лезвию без использования foreach - PullRequest
1 голос
/ 18 апреля 2019

Я пытаюсь получить значение одной строки, используя его ключ в таблице блейд-файлов. как это передать значение ему. я получил всю таблицу в другом блейд-файле, используя 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');

я назвал файл ссудного интереса, как показано ниже

loan.blade.php

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

как мне передать loanData в блейд. я получаю эту ошибку

Undefined variable:loan   

Ответы [ 2 ]

2 голосов
/ 18 апреля 2019

Почему вы передаете 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'));
} 

В контроллере вы запрашиваете все данные из таблицы, но вам нужны только одни данные, поэтому вам нужно сделать findOrFail с уникальным идентификатором или использовать firstOrFail.

Попробуйте с этим.

Надеюсь, это поможет:)

1 голос
/ 18 апреля 2019

Параметры маршрута отправляются в отдельном массиве, попробуйте ниже код Синтаксис:

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

проверка документы

вы можете попробовать

<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
...