Форма поиска Php в методе post не возвращает данные - PullRequest
0 голосов
/ 04 января 2019

Я строю поисковую функциональность, используя php в Laravel 5.6, сначала я создал форму в методе get, и она работала хорошо, но мне нужно, чтобы она была в методе post, и моя проблема в том, что данные вообще не возвращаются,Я немного растерялся, потому что я не понимаю, почему это не работает, может кто-нибудь помочь мне понять, где мои ошибки?Спасибо (и извините, если мой английский не звучит хорошо, я француз!)

Это мой контроллер

<?php

 namespace App\Http\Controllers;

 use App\Telephone;
 use  Illuminate\Http\Request;


 class TelephoneController extends Controller{

 public function index(Request $request){
    $nom = $request->input('nom');
    $site = $request->input('site');
    $groupe = $request->input('groupe');

    $listSite = Telephone::query()
        ->selectRaw('Site')
        ->groupBy('Site')
        ->get();

    $listGroup = Telephone::query()
        ->selectRaw('Groupe')
        ->groupBy('Groupe')
        ->get();

    if (empty($_POST['submit'])) {
        $query = Telephone::query()
            ->select('*')
            ->orderBy('Site')
            ->orderBy('Groupe')
            ->get();
    } else {
        $query = Telephone::query()
            ->where('Nom', 'LIKE', '%' . $nom . '%')
            ->orWhere('Site', 'LIKE', '%' . $site . '%')
            ->orwhere('Groupe', 'LIKE', '%' . $groupe . '%')
            ->orderBy('Site')
            ->orderBy('Groupe')
            ->get();
    }
    return view('telephone.index', ['query' => $query, 'listSite' => $listSite, 'listGroup' => $listGroup, 'nom' => $nom, 'site' => $site, 'groupe' => $groupe]);
}

public function store(Request $request)
{
    $nom = $request->nom;
    $site = $request->site;
    $groupe = $request->groupe;

    return redirect('telephone')->with($nom, $site, $groupe);
}
}

И это мой взгляд

<h2 class="text-center titre">Répertoire d'entreprise </h2>
{{ Form::open(['method'=>'POST','class'=>'col-lg-12','role'=>'recherche']) }}
{{ csrf_field() }}

<div class="row formulaire">
   <div class="form-group col-lg-6 ">
            {!! Form::label('nom', 'Recherche par nom : ') !!}
            <input type="text" name="nom" class="form-control" id="nom" value="{{$nom}}"
                   placeholder="Recherche ...">
        </div>

        <div class="form-group col-lg-2">
            {!! Form::label('site', 'Site ') !!}
            <select class="form-control" id="selectSite" name="site" value="{{$site}}">
                <option selected disabled>site</option>
                @foreach($listSite as $site)
                    <option>{{$site->Site}}</option>
                @endforeach
            </select>
        </div>
        <div class="form-group col-lg-2">
            {!! Form::label('groupe', 'Groupe ') !!}
            <select class="form-control" id="selectGroupe" name="groupe" value="{{$groupe}}">
                <option selected disabled>...</option>
                @foreach($listGroup as $list)
                    <option value="{{$list->Groupe}}">{{$list->Groupe}}</option>
                @endforeach
            </select>
        </div>
        <div class="input-group col-lg-2">
            {{ Form::submit('Recherche', ['class'=>'btn btn-light','type'=>'submit','name'=>'submit'])}}
        </div>
        {!! Form::close() !!}
   </div>
<div class="responsive-table-line">
    <table class="table table-hover table-sm table-condensed table-body-center">
        <thead class="thead-dark">
        <tr>
            <th scope="col">Nom</th>
            <th scope="col">Poste</th>
            <th scope="col">N°interne</th>
            <th scope="col">N°externe</th>
            <th scope="col">Portable</th>
        </tr>
        </thead>
        <tbody>
        <?php $site = ""; $groupe = "";?>
        @foreach(   $query as $row)
            @if($row->Site != $site)
                <tr>
                    <td colspan="5" class="table-secondary"><h3 class="site">{{$row->Site}}</h3></td>
                </tr>
            @endif
            @if($row->Groupe != $groupe && $row->Groupe != "")
                <tr>
                    <td colspan="5" class="table-active "><p class="groupe">{{$row->Groupe}}</p></td>
                </tr>
            @endif
            <tr>
                <td id="nom">{{$row->Nom}}</td>
                <td>{{$row->Fonction}}</td>
                <td>{{$row->Poste_interne}}</td>
                <td>{{$row->Poste_externe}}</td>
                <td>{{$row->Portable}}</td>
            </tr>
            <?php $site = $row->Site; $groupe = $row->Groupe?>
        @endforeach
        </tbody>
    </table>
</div>

web.php просто

Route::resource('/telephone', 'TelephoneController' );

Кто-нибудь может объяснить мои ошибки, пожалуйста?почему он не возвращает ответ в мою таблицу?Спасибо

1 Ответ

0 голосов
/ 04 января 2019

В PhoneController @ store,

можете ли вы

return [$nom, $site, $groupe];

и посмотреть данные там, прежде чем передать их на ваш взгляд?

Тогда попробуй,

return view('telephone', compact('nom', 'site', 'groupe');

И, на ваш взгляд, просто отобразите переменные {{$ nom}}, и вы сможете их увидеть

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...