我正在使用Go和PostgreSQL(pq驱动程序),我有以下查询
SELECT p.id, p.name, p.description, p.price, p.image, p.rate
FROM products AS p
WHERE LOWER(p.name) LIKE %$1% ORDER BY p.rate DESC
Run Code Online (Sandbox Code Playgroud)
如果我直接在PostgreSQL中执行此查询,它可以工作,但在Golang中说:
pq: syntax error at or near "%"
Run Code Online (Sandbox Code Playgroud)
我该如何解决?我试过"\%"但没有用.谢谢.
这是完整的源代码
func FindByName(name *string) ([]*Product, error) {
db, err := db.StablishConnection()
if err != nil {
log.Fatal(err)
panic(err)
}
defer db.Close()
query := `SELECT p.id, p.name, p.description, p.price, p.image, p.rate
FROM products AS p
WHERE LOWER(p.name) LIKE %$1% ORDER BY p.rate DESC`
product_rows, err := db.Query(query, name)
if err != nil …Run Code Online (Sandbox Code Playgroud) 我正在使用 rails 4.1.8 中的 web api,我正在做一些测试,但总是让我返回
Failure/Error: post '/v1/users', subdomain: 'api', user: @user.to_json, format: :json
ActionController::UrlGenerationError:
No route matches {:action=>"/v1/users", :controller=>"api/v1/users", :format=>:json, :subdomain=>"api", :user=>"JSON_OBJ"}
Run Code Online (Sandbox Code Playgroud)
但是如果我使用 Advance Rest Console 在浏览器中测试它,它就可以工作,我不知道我做错了什么
这是我的代码
路由文件
namespace :api, path: '/', constraints: {subdomain: 'api'}, defaults: { format: :json } do
namespace :v1 do
with_options except: [:edit, :new] do |except|
except.resources :users do
collection do
post 'login'
post 'showme'
end
end
except.resources :products
except.resources :locations
end
end
end
Run Code Online (Sandbox Code Playgroud)
和我的控制器规格
module API
module V1
describe UsersController do
before …Run Code Online (Sandbox Code Playgroud)