数据库查询:选择行的位置和位置

时间:2017-05-31 09:40:58

标签: php mysql database laravel

我想制作一个搜索栏,但将结果限制为用户共享同一家公司。 这个功能很好用:

public function search(Request $request) {
    if ($user = Sentinel::check()) {
        $users = User                
            ::where('first_name', 'like', '%' . $request->text . '%')
            ->orWhere('last_name', 'like', '%' . $request->text . '%')
            ->limit(2)
            ->get()
            ->map(function ($item) {
                $item['url'] = route('user.single', ['id' => $item->id]);
                $item['title'] = $item['first_name'] . ' ' . $item['last_name'];
                $item['type'] = 'User';
                return $item;
            })
            ->toArray();
    }
}

但我想添加条件:

->andWhere ('companies_id', 1)

5 个答案:

答案 0 :(得分:1)

您只需添加where子句

即可
{{1}}

这将导致此查询

{{1}}

但我认为应该是

{{1}}

所以这些答案应该是正确的:https://stackoverflow.com/a/44281362/6193316

答案 1 :(得分:0)

你必须为'和'使用相同的结构。 例如:(' companies_id',' =',' 1')

答案 2 :(得分:0)

我认为您的查询应该可以正常使用

$users = User::where(function($query) use ($request) {
        $query->where('first_name', 'like', '%' . $request->text . '%')
            ->orWhere('last_name', 'like', '%' . $request->text . '%');
    })
    ->where('companies_id', '=', 1)
    ->limit(2)
    ->get()
    ->map(function ($item) {
        $item['url'] = route('user.single', ['id' => $item->id]);
        $item['title'] = $item['first_name'] . ' ' . $item['last_name'];
        $item['type'] = 'User';
        return $item;
    })
    ->toArray();

答案 3 :(得分:0)

public function search(Request $request) {
if ($user = Sentinel::check()) {
    $users = User                
        ::where('first_name', 'like', '%' . $request->text . '%')
       ->where('companies_id', 1) //you can add multiple
        ->orWhere('last_name', 'like', '%' . $request->text . '%')
        ->limit(2)
        ->get()
        ->map(function ($item) {
            $item['url'] = route('user.single', ['id' => $item->id]);
            $item['title'] = $item['first_name'] . ' ' . $item['last_name'];
            $item['type'] = 'User';
            return $item;
        })
        ->toArray();
}

}

答案 4 :(得分:0)

很简单

$select = DB::('table_name')->where('column_name','value')
                            ->where('cloumn_name1','value')
                            ->get();