搜索

首页  >  问答  >  正文

检查记录是否存在于任何列中

在我的 Laravel 应用程序中,我需要检查表中的 20 列中是否有特定记录。我已经搜索了这个答案,但只找到了一种方法来检查它是否存在于特定列中,但我需要检查所有列,我想知道是否有一种方法可以在没有循环的情况下做到这一点,例如:

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

P粉917406009P粉917406009265 天前500

全部回复(1)我来回复

  • 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();
    

    回复
    0
  • 取消回复