MySQL查询到Laravel 5.5

时间:2018-04-03 02:18:33

标签: php mysql laravel laravel-5.5

SELECT * FROM table WHERE age = 10 AND (first_name like %name% OR last_name like %name%);

你如何在Laravel 5.5中做到这一点?

3 个答案:

答案 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();'

选择https://laravel.com/docs/5.6/queries#selects

的官方文档

答案 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();