Ankündigung

Einklappen
Keine Ankündigung bisher.

"bad tags" aussortieren

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • [Laravel] "bad tags" aussortieren

    Hallo,
    folgende Situation:

    Ich habe ein Textfeld namens "tags", wo ich mehrere tags reinschreibe getrennt durch ein ",".

    z.b: Haus, Auto, Garten, Porn, Tiere

    Ich habe eine Tabelle namens tags, mit folgenden Spalten: id, banned_tags, created_at, updated_at, die beinhalten folgende Einträge

    id --------- banned_tags ---------
    1 --------- asshole
    2 --------- porn

    Nun möchte ich das jedes eizelne Wort geprüft wird ob es in der banned_tags existiert

    Habe ganze Nacht herumprobiert, mein Letzter Versuch sieht wie folgt aus:

    PHP-Code:
    $loadData Tag::select(['banned_tags'])
                ->
    orderBy('id''desc')
                ->
    get()
                ->
    toArray();

            
    $badwords explode(','$request->tags);

            
    $check in_array($badwords$loadData);

            if (
    count($check) > 0) {
                return 
    'tag is banned';
            }else {
                return 
    'not banned';
            } 


  • #2
    Du brauchst die Schnittmenge zwischen den Arrays: array_intersect()

    Kommentar


    • #3
      Habe es endlich hinbekommen, keine ahnung ob es nun die schönste "Methode" ist, aber es funktioniert

      PHP-Code:
      // tags check    
      $userInput trim($request->tags);      
      $replaceInput str_replace(" """$userInput);      
      explodeTags explode(','$replaceInput);      

      $result DB::table('tags')        
      ->
      whereIn('banned_tags'$explodeTags)        
      ->
      get();      

      if (
      count($result) > 0) {        
      return 
      'tag is banned';    

      Kommentar


      • #4
        Das Tabellendesign ist halt fehlerhaft. Mehrere Tags gehören nicht in eine Spalte, sondern in eine eigene Tablle.

        Kommentar


        • #5
          Zitat von hellbringer Beitrag anzeigen
          Das Tabellendesign ist halt fehlerhaft. Mehrere Tags gehören nicht in eine Spalte, sondern in eine eigene Tablle.
          Wenn ich das oben richtig sehe, ist das doch schon so?

          Kommentar


          • #6
            Ups, sorry. Ja, stimmt.

            Kommentar

            Lädt...
            X