我想制作一个搜索栏,但将结果限制为用户共享同一家公司。 这个功能很好用:
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)
答案 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();