2017-06-23 33 views
0

這是param和查詢,我需要在查詢的WHERE中插入這個數字。 PF的其中@p,doesn't接受嗎如何在查詢中插入p參數的id號

def get_stock 
@p = Proveedor.find(params[:id]) 
    sql5 = "SELECT productos.id as producto, 
       productos.nombre as nombre, 
       productos.stock as cantidad 
     FROM proveedors 
     INNER JOIN productos ON proveedors.id = productos.proveedor_id 
     WHERE proveedors.id = @p 
     GROUP BY productos.id" 
@aux = ActiveRecord::Base.connection.execute(sql5) 

回答

0

您可以使用下面。這將滿足您的要求。

def get_stock 
    @p = Proveedor.find(params[:id]) 
    sql5 = "SELECT productos.id as producto, 
      productos.nombre as nombre, 
      productos.stock as cantidad 
    FROM proveedors 
    INNER JOIN productos ON proveedors.id = productos.proveedor_id 
    WHERE proveedors.id = #{@p.try(:id)} 
    GROUP BY productos.id" 
    @aux = ActiveRecord::Base.connection.execute(sql5) 
end 
+0

是的,這是正確的。謝謝 –

0

嘗試

sql5 = "SELECT productos.id as producto, 
      productos.nombre as nombre, 
      productos.stock as cantidad 
    FROM proveedors 
    INNER JOIN productos ON proveedors.id = productos.proveedor_id 
    WHERE proveedors.id = #{@p.id} 
    GROUP BY productos.id" 

希望它能幫助。