Bonjour,

Je débute avec Laravel et j'ai une page où je retourne des noms enregistrés dans une table names dans ma base de donnée. J'aimerais en faite comparer tout ces noms dans l'affichage avec un champs "rpname" de ma table users afin de filtrer les noms disponibles et ceux déjà prit. J'ai donc un controller avec une fonction index qui me place les deux variables en paramètre :

public function index(){
        $names = $this->nameRepository->index();
        $users = User::where('role_id', '=', '1')
            ->where('role_id', '=', '2')
            ->where('role_id', '=', '3')
            ->get();

        return view('front.names', compact('names', 'users'));

    }

Et ensuite, dans ma vue, je retourne les noms via un foreach pour les afficher en liste :

<h3>Les noms d'origine Normand</h3>
<p><strong>Nombre de noms :</strong>@foreach($names as $name) {{ $name->getTotalNormands() }} @break; @endforeach</p>
@foreach(array_chunk($names->all(), 50) as $ten_names)
                            <div class="col-sm-2">
                                <ul>
                                @foreach($ten_names as $name)
                                    @if( $name->culture == 'Normand')
                                    <li>{{ $name->name }}</li>
                                    @endif
                                @endforeach
                                </ul>
                            </div>
                        @endforeach

Ce que j'aimerais faire désormais, c'est comparer le champs correspondant dans ma table users pour mettre un balisage spécifique pour les noms prit ou diponible.
Je pensais refaire un foreach à l'extérieur de @foreach($ten_names as $name) puis filtrer avec un @if(strpos($user->rpname, $name->name) == true) mais ça ne fonctionne pas et même aucun nom n'est retourné. Je me demandais du coup si il y avais une méthode plus simple pour faire cela.

Merci d'avance pour votre aide =D

1 réponse


Vable
Auteur

Hello, personne n'a une petite idée ?