Laravel中带foregin键的多参数查询

7z5jn7bk  于 12个月前  发布在  其他
关注(0)|答案(1)|浏览(76)

我希望我的搜索引擎在搜索多个参数后返回值。目前我的搜索引擎是这样工作的:
查询->样本城市->此城市的所有记录
怎样才能使它这样工作呢
查询->样本城市和样本街道->该城市和街道的所有记录
laravel 10(without laravel scout)php 8.2
验证码:

public function search(Request $request){
        
        $search = $request->search;

        $resorts = Resort::where(function($query) use ($search){
            // query to main table
            $query->where('name', 'like', "%$search%")
            ->orWhere('city', 'like', "%$search%")
            ->orWhere('street', 'like', "%$search%")
            ->orWhere('home_number', 'like', "%$search%");
            
            //->orWhere('description' 'like', "%$search%"); 
        })
        //query with foreign key
        ->orWhereHas('voivodeship',function($query) use ($search){
            $query->where('name', 'like', "%$search%");
        })
        ->get();

        return view('index',compact('resorts', 'search'));
    }

字符串

lf3rwulv

lf3rwulv1#

在闭包函数中搜索

->where(function($query) {
    $query->where('name', 'like', '%$search%')
        ->orWhere('city', 'like', "%$search%")
        ->orWhere('street', 'like', "%$search%")
        ->orWhere('home_number', 'like', "%$search%");
})

字符串

相关问题