public function find($accountId, $filter = null)
{
$query = DB::table('products')->leftJoin('tax_rates', function ($join) {
$join->on('tax_rates.id', '=', 'products.default_tax_rate_id')->whereNull('tax_rates.deleted_at');
})->where('products.account_id', '=', $accountId)->select('products.public_id', 'products.product_key', 'products.notes', 'products.cost', 'tax_rates.name as tax_name', 'tax_rates.rate as tax_rate', 'products.deleted_at');
if ($filter) {
$query->where(function ($query) use($filter) {
$query->where('products.product_key', 'like', '%' . $filter . '%')->orWhere('products.notes', 'like', '%' . $filter . '%');
});
}
if (!\Session::get('show_trash:product')) {
$query->where('products.deleted_at', '=', null);
}
return $query;
}