美文网首页ruby on rails
(8)I多条件拼接查询、模型与表任意命名

(8)I多条件拼接查询、模型与表任意命名

作者: suhuanzhen | 来源:发表于2016-11-28 23:49 被阅读0次

    在新的分支上进行开发

    git checkout -b eighth/conditions
    
    • 添加路由
    get 'conditions_one'
    get 'conditions_two'
    get 'conditions_three'
    

    下面的例子中模型名和表名可以不对应,表名同时包含大小写,这些不符合rails默认约定都是可以的

    • 添加新的表和为原有表添加外键
    rails g migration CreateCompanies
    

    添加外键

    rails g migration AddCompanyIdToProductInfoes
    
    rake db:migrate
    
    • 填充数据


    • 添加、修改模型文件


    • 添加动作
      includes里面子关联表取出多个关联表形式的官方文档如下,这些接口的用法就去查官方文档,不要自己去猜想用法,比如includes(:product_second_tag,:product_info =>[:product_brand,:company])就是错误的。


      image.png
    • 添加视图文件


    根据价格筛选后只有前5条记录价格小于50,每条记录都有标签--第二个筛选没有过滤任何记录,第三个日期筛选----把第二条记录筛选掉了。于是结果只有4条记录,说明正确。结果按照编码倒序排列:


    如果带上sort参数且sort参数值为desc:
    修修改第4条记录的价格为与第一条记录相同



    视图页面修改为


    如上就实现了先按照价格倒序排列,如果价格一样那么就按照编码倒序排列。

    如果我们把第4条商品记录的SecondTagID的值去掉,注意结果显示为空,与其他未填重值的项为null不同。这也是我们前面讲的如果判断为null那么查询结果一个也没有的原因。我们查询判断添加应该是products.SecondTagID != ''



    提交到远程仓库

    git add .
    git commit -m "I多条件拼 接查询、模型与表任意命名"
    git push -u https://github.com/xiaohuacc/active_record.git eighth/conditions
    

    把修改合并到主分支

    git checkout master
    git merge eighth/conditions
    

    相关文章

      网友评论

        本文标题:(8)I多条件拼接查询、模型与表任意命名

        本文链接:https://www.haomeiwen.com/subject/jahapttx.html