SELECT * FROM table WHERE age = 10 AND (first_name like %name% OR last_name like %name%);
你如何在Laravel 5.5中做到这一点?
答案 0 :(得分:0)
使用查询构建器:
$results = DB::table('table')
->where('age', 10)
->where(function ($query) {
$query
->where('first_name', 'like', '%name%')
->orWhere('last_name', 'like', '%name%');
})
->get();
检查查询生成器的官方documentation(5.5)
答案 1 :(得分:0)
您可以执行以下操作来查询
$data= DB::table('table')
->whereRaw('age'= ? AND (first_name like ? OR last_name like ?)', [10,'%'.name.'%','%'.name.'%' ])
->get();'
的官方文档
答案 2 :(得分:0)
我不知道你在视图中使用了多少字段..但是如果你有firstname字段和姓氏字段,那么你的代码应该是这样的:
$results = DB::table('table')
->where('age', 10)
->where(function ($query) use ($request) {
$query
->where('first_name', 'LIKE', '%' . $request->first_name .'%')
->orWhere('last_name', 'LIKE', '%' . $request->last_name .'%');
})
->get();