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

在新的分支上进行开发

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
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容