У меня есть форма поиска, где пользователь вводит данные. При нажатии кнопки поиска, если данные найдены, отобразить только таблицу tbl_paytable, иначе скрыть ее.
Просмотр страницы
<form class = "form-horizontal" method = "POST" action = "{{action('OrderedBookController@billPay')}}" enctype = "multipart/form-data">
{{ csrf_field() }}
<div class = "row" style = "padding-left: 1%;">
<div class = "col-md-4">
<div class = "form-group">
<label>Bill Number</label><span class = "required">*</span>
<input type = "text" maxlength = "15" required = "required" autofocus = "autofocus" autocomplete = "off" name = "NBillNumber" class = "form-control"/>
</div>
</div>
<div class = "col-md-4">
<div class = "form-group"></div>
<div class = "form-group" style = "padding-left: 5%;">
<button type = "submit" class = "btn btn-primary">Search</button>
</div>
</div>
</div>
</form>
<div id = "tbl_paytable">
// display table
</div>
блок контроллера
public function searchBill()
{
return view ( 'pages.payBill');
}
public function billPay(Request $request)
{
$billNum = $request->input('NBillNumber');
if ($billNum != ""){
$billsrch = OrderedBook::where ( 'BilledNum', $billNum )->get ();
if (count ( $billsrch ) > 0)
{
return view('pages.payBill', compact('billsrch'));
}
else
{
return view ( 'pages.payBill',compact('billsrch'))->with('alert-danger', 'Sorry No details found');
}
}
}
используйте вызов ajax и покажите ответ в div, ИЛИ просто отправьте <form> и в контроллере перенаправьте обратно на то же лезвие, в файле лезвия используйте @if (session('something')) @endif для отображения таблицы






$ billsrch - это коллекция laravel, в которой есть метод проверки, пуста ли она.
https://laravel.com/docs/5.6/collections#method-isnotempty
@if ($billsrch)
<div id = "tbl_paytable">
// display table
</div>
@endif
Или просто сделайте то же самое, что и в своем контроллере
@if (count($billsrch) > 0)
<div id = "tbl_paytable">
// display table
</div>
@endif
получение ошибки как Undefined variable: billsrch на блоке @if ($billsrch->isNotEmpty())
это означает, что ваш код: $billsrch = OrderedBook::where ( 'BilledNum', $billNum )->get (); возвращает null. я изменю свой ответ
Не могли бы вы более четко объяснить вашу проблему?