【发布时间】:2019-05-13 11:45:51
【问题描述】:
大家好,我尝试了多个 where,其中 2 where 用于过滤,另外 2 where 用于搜索,但是当我添加这 2 个 orwhere 时,前两个在哪里不起作用,但后两个在工作,我不知道是什么问题,请帮助我
我试过这段代码,但它不起作用,也许我不知道如何使用它
$estudiantes= Usuario::
where('rol', '=', 'ESTUDIANTE')
->whereHas('perfil', function($query) use ($data){
if($data!="")
$query->Where('doc_identidad', '=' ,$data)
->orWhere('nombres','like','%'.$data.'%')
->orWhere('apellidos','like','%'.$data.'%');
dd($query);
})->get();
这是我的指标控制器
namespace App\Http\Controllers;
use App\Indicator;
use DB;
use Illuminate\Http\Request;
use Validator;
class IndicatorsController extends Controller
{
public function index(Request $request)
{
if (request()->has('fin') OR request()->has('strat') OR request()->has('s')) {
$joinindicators = DB::table('indicators')
->join('financial_categories', 'financial_categories.id', '=', 'indicators.financial_id')
->join('strategy_categories', 'strategy_categories.id', '=', 'indicators.strat_id')
->join('time_frame_categories', 'time_frame_categories.id', '=', 'indicators.timeframe_id')
->select('indicators.*', 'financial_categories.financial_type', 'strategy_categories.strategy',
'time_frame_categories.timeframe')
->where('financial_id', '=', request('fin'))->orwhere('strat_id', '=', request('strat'))
->orwhere('indicator_name', 'like', '%'.request('s').'%')
->orWhere('Description', 'like', '%'.request('s').'%')
->paginate(8)->appends([
'financial_id' => request('fin'),
'strat_id' => request('strat'),
// 'indicator_name' => request('s')
]);
} else {
$joinindicators = DB::table('indicators')
->join('financial_categories', 'financial_categories.id', '=', 'indicators.financial_id')
->join('strategy_categories', 'strategy_categories.id', '=', 'indicators.strat_id')
->join('time_frame_categories', 'time_frame_categories.id', '=', 'indicators.timeframe_id')
->select('indicators.*', 'financial_categories.financial_type', 'strategy_categories.strategy',
'time_frame_categories.timeframe')
->paginate(8);
};
$indis = Indicator::orderBy('created_at', 'desc')->paginate(8);
return view('pages.index_indicator', compact('joinindicators', 'indis'));
} }
【问题讨论】: