Fix search and psql like queries need to be ilike for case insensitivity
This commit is contained in:
@@ -180,10 +180,10 @@ class Account extends Model implements IDs
|
||||
$query->where('id','like','%'.$term.'%');
|
||||
|
||||
} else {
|
||||
$query->where('company','like','%'.$term.'%')
|
||||
->orWhere('address1','like','%'.$term.'%')
|
||||
->orWhere('address2','like','%'.$term.'%')
|
||||
->orWhere('city','like','%'.$term.'%');
|
||||
$query->where('company','ilike','%'.$term.'%')
|
||||
->orWhere('address1','ilike','%'.$term.'%')
|
||||
->orWhere('address2','ilike','%'.$term.'%')
|
||||
->orWhere('city','ilike','%'.$term.'%');
|
||||
}
|
||||
|
||||
return $query;
|
||||
|
@@ -38,7 +38,7 @@ class Invoice extends Model implements IDs
|
||||
protected $casts = [
|
||||
'created_at' => 'datetime:Y-m-d',
|
||||
'due_at' => 'datetime:Y-m-d',
|
||||
'reminders'=>'json',
|
||||
'reminders' => 'json',
|
||||
'_paid_at' => 'datetime:Y-m-d',
|
||||
];
|
||||
|
||||
|
@@ -530,18 +530,18 @@ class Service extends Model implements IDs
|
||||
return $query->select('services.*')
|
||||
->where('services.id','like',$t)
|
||||
->leftJoin('service_broadband',['service_broadband.service_id'=>'services.id'])
|
||||
->orWhere('service_broadband.service_number','like',$t)
|
||||
->orWhere('service_broadband.service_address','like',$t)
|
||||
->orWhere('service_broadband.ipaddress','like',$t)
|
||||
->orWhere('service_broadband.service_number','ilike',$t)
|
||||
->orWhere('service_broadband.service_address','ilike',$t)
|
||||
->orWhere('service_broadband.ipaddress','ilike',$t)
|
||||
->leftJoin('service_phone',['service_phone.service_id'=>'services.id'])
|
||||
->orWhere('service_phone.service_number','like',$t)
|
||||
->orWhere('service_phone.service_address','like',$t)
|
||||
->orWhere('service_phone.service_number','ilike',$t)
|
||||
->orWhere('service_phone.service_address','ilike',$t)
|
||||
->leftJoin('service_domain',['service_domain.service_id'=>'services.id'])
|
||||
->orWhere('service_domain.domain_name','like',$t)
|
||||
->orWhere('service_domain.domain_name','ilike',$t)
|
||||
->leftJoin('service_email',['service_email.service_id'=>'services.id'])
|
||||
->orWhere('service_email.domain_name','like',$t)
|
||||
->orWhere('service_email.domain_name','ilike',$t)
|
||||
->leftJoin('service_host',['service_host.service_id'=>'services.id'])
|
||||
->orWhere('service_host.domain_name','like',$t);
|
||||
->orWhere('service_host.domain_name','ilike',$t);
|
||||
}
|
||||
|
||||
/* ATTRIBUTES */
|
||||
|
@@ -189,27 +189,27 @@ class User extends Authenticatable implements IDs
|
||||
{
|
||||
// Build our where clause
|
||||
// First Name, Last name
|
||||
if (preg_match('/\ /',$term)) {
|
||||
if (preg_match('/\s+/',$term)) {
|
||||
[$fn,$ln] = explode(' ',$term,2);
|
||||
|
||||
$query->where(function($query1) use ($fn,$ln,$term) {
|
||||
$query1->where(function($query2) use ($fn,$ln) {
|
||||
return $query2
|
||||
->where('firstname','like','%'.$fn.'%')
|
||||
->where('lastname','like','%'.$ln.'%');
|
||||
->where('firstname','ilike','%'.$fn.'%')
|
||||
->where('lastname','ilike','%'.$ln.'%');
|
||||
});
|
||||
});
|
||||
|
||||
} elseif (is_numeric($term)) {
|
||||
$query->where('users.id','like','%'.$term.'%');
|
||||
|
||||
} elseif (preg_match('/\@/',$term)) {
|
||||
$query->where('email','like','%'.$term.'%');
|
||||
} elseif (preg_match('/@/',$term)) {
|
||||
$query->where('email','ilike','%'.$term.'%');
|
||||
|
||||
} else {
|
||||
$query
|
||||
->Where('firstname','like','%'.$term.'%')
|
||||
->orWhere('lastname','like','%'.$term.'%');
|
||||
->Where('firstname','ilike','%'.$term.'%')
|
||||
->orWhere('lastname','ilike','%'.$term.'%');
|
||||
}
|
||||
|
||||
return $query;
|
||||
|
Reference in New Issue
Block a user