suchen

Heim  >  Fragen und Antworten  >  Hauptteil

Überprüfen Sie, ob in einer Spalte ein Datensatz vorhanden ist

In meiner Laravel-Anwendung muss ich prüfen, ob in 20 Spalten einer Tabelle ein bestimmter Datensatz vorhanden ist. Ich habe nach dieser Antwort gesucht, aber nur eine Möglichkeit gefunden, zu überprüfen, ob sie in einer bestimmten Spalte vorhanden ist. Ich muss jedoch alle Spalten überprüfen und habe mich gefragt, ob es eine Möglichkeit gibt, dies ohne Schleife zu tun, zum Beispiel:

DB::table('cart')->where($fileId->id)->exists();

P粉917406009P粉917406009226 Tage vor461

Antworte allen(1)Ich werde antworten

  • P粉530519234

    P粉5305192342024-04-02 09:14:30

    假设 $field->id 是搜索词。你可以试试

    //use Illuminate\Support\Facades\Schema;
    
    $columns = Schema::getColumnListing('cart');
    
    $query = DB::table('cart');
    
    $firstColumn = array_shift($columns);
    $query->where($firstColumn, $field->id);
    
    foreach($columns as $column) {
        $query->orWhere($column, $field->id);
    }
    
    $result = $query->exists();
    

    Antwort
    0
  • StornierenAntwort