mysql Laravel多列雄辩的搜索查询

zaq34kh6  于 5个月前  发布在  Mysql
关注(0)|答案(4)|浏览(45)

我在Laravel非常新,目前与Laravel4.I工作试图添加一个多列搜索功能在我的项目.我可以做单列雄辩的搜索查询,但老实说,我不知道如何做多列雄辩的搜索查询在Laravel.我有两个下拉菜单
1.位置2.血型。
我想搜索一个用户有一定的血型对某些位置。也就是说,用户将选择一个位置血型从这两个下拉菜单中的时间,并击中搜索按钮。
在我的数据库中,我有两列,一列包含某个用户的位置,另一列包含某个用户的血型。那么,对于这样的搜索,应该使用什么样的有力查询呢?

frebpwbc

frebpwbc1#

只需为您需要搜索的每个字段链接where

// AND
$results = SomeModel::where('location', $location)->where('blood_group', $bloodGroup)->get();

// OR
$results = SomeModel::where('location', $location)->orWhere('blood_group', $bloodGroup)->get();

字符串
您可以通过以下范围更轻松地使用它:

// SomeModel class
public function scopeSearchLocation($query, $location)
{
  if ($location) $query->where('location', $location);
}

public function scopeSearchBloodGroup($query, $bloodGroup)
{
  if ($bloodGroup) $query->where('blood_group', $bloodGroup);
}

// then 
SomeModel::searchBloodGroup($bloodGroup)->searchLocation($location)->get();


只是一个合理的例子,根据您的需要调整它。

piv4azn7

piv4azn72#

这是一个很好的方法,但我认为在某个地方有一个错误,因为laravel不允许你访问非静态函数,所以不要使用

SomeModel::searchBloodGroup($bloodGroup)->searchLocation($location)->get();

字符串
你可以简单地使用

SomeModel::BloodGroup($bloodGroup)->Location($location)->get();


请注意searchBloodGroup已更改为BloodGroup,这就是您将如何使用它的所有其他人也。

5m1hhzi4

5m1hhzi43#

$errors = $connection->table('test_sessions_table')
->where('user_id', $user->id)
->where('status_question', 'false')->count('status_question');

字符串
在此方法中,代码采用以下形式的SQL代码

select count(`status_question`) as aggregate from `test_sessions_table` where `user_id` = ? and `status_question` = ?


或者你的代码看起来像这样

$errors = $connection->table('test_sessions_table')
->where('user_id', $user->id)
->orWhere('status_question', 'false')->count('status_question');


SQL代码

select count(`status_question`) as aggregate from `test_sessions_table` where `user_id` = ? or `status_question` = ?


我个人建议用两个“where”

bhmjp9jg

bhmjp9jg4#

另一个更简单的方法,你可以尝试

$datas2 = SomeModel::where('location' ,'LIKE', $request['location_id'] ?? '%' )
->where('bloodGroup' ,'LIKE', $request['bloodGroup_id'] ?? '%'  )->get();

字符串

相关问题