如何应用以及在何处条件或何处



我想显示cv表中的数据,其中user_id是$request->id。另外,过滤已经完成,所以我必须放很多orWhere。因此,我的代码无法按预期工作。对不起,这个问题有点令人困惑。

$search = $request->input('search.value');
$results = cv::with(['industrySegments','jobLocations','jobPositions','languages'])->where('user_id',$request->id);
$results->orWhere('name','LIKE',"%{$search}%");
$results->orWhere('gender','LIKE',$search);
$results->orWhere('contact','LIKE',$search);
$results->orWhere('contact2','LIKE',$search);

此代码不起作用。每当我在搜索按钮中键入内容时,它都会显示不应该显示的数据。我只想显示user_id为$request->id的数据。

我认为您想要做的是高级

您的查询将像这个

$results = cv::with(['industrySegments','jobLocations','jobPositions','languages'])->where('user_id',$request->id)->where(function($q)use($search){
$q->where('name','LIKE',"%{$search}%")->orWhere(..........;    
})->get();

因此,您可以使用where/或where

测试下一个代码:

$results = cv::with(['industrySegments','jobLocations','jobPositions','languages']);
if(!empty($request->id))
{
$results->where('user_id',$request->id);
}
else
{
$results->orWhere('name','LIKE',"%{$search}%");
$results->orWhere('gender','LIKE',$search);
$results->orWhere('contact','LIKE',$search);
$results->orWhere('contact2','LIKE',$search);
}

最新更新