Add manufacturer name/sorting/searching on assets

This commit is contained in:
snipe
2016-05-12 10:38:57 -07:00
parent c41b47902e
commit ae8a03fec3
3 changed files with 30 additions and 2 deletions
+22
View File
@@ -722,6 +722,12 @@ class Asset extends Depreciable
->orWhere('models.name', 'LIKE', '%'.$search.'%');
});
});
})->orWhereHas('model', function ($query) use ($search) {
$query->whereHas('manufacturer', function ($query) use ($search) {
$query->where(function ($query) use ($search) {
$query->where('manufacturers.name', 'LIKE', '%'.$search.'%');
});
});
})->orWhere(function ($query) use ($search) {
$query->whereHas('assetstatus', function ($query) use ($search) {
$query->where('status_labels.name', 'LIKE', '%'.$search.'%');
@@ -826,6 +832,22 @@ class Asset extends Depreciable
->orderBy('categories.name', $order);
}
/**
* Query builder scope to order on manufacturer
*
* @param Illuminate\Database\Query\Builder $query Query builder instance
* @param text $order Order
*
* @return Illuminate\Database\Query\Builder Modified query builder
*/
public function scopeOrderManufacturer($query, $order)
{
return $query->join('models', 'assets.model_id', '=', 'models.id')
->join('manufacturers', 'models.manufacturer_id', '=', 'manufacturers.id')
->orderBy('manufacturers.name', $order);
}
/**
* Query builder scope to order on model
*