模型中追加了一个参数,如何可以查询到

在model中追加了一个参数level

模型中追加了一个参数,如何可以查询到

现在想根据level作为条件查询

模型中追加了一个参数,如何可以查询到

报错
Column not found: 1054 Unknown column ‘level’ in ‘where clause’

之所以要用level是因为这个level字段跨库了,是从其他库的表里拿过来的,考虑用了wherehas 报错权限问题

模型中追加了一个参数,如何可以查询到

command denied to user ‘xxxxxx‘

咨询了公司运维,说这个不能给加上,让用其他办法。想过集合,但是上千万数据集合一下,再分页,根本撑不住。。。。。

目前妥协了,在订单表里加了一个level字段

颠倒的玉石
《L05 电商实战》
从零开发一个电商项目,功能包括电商后台、商品 & SKU 管理、购物车、订单管理、支付宝支付、微信支付、订单退款流程、优惠券等
《G01 Go 实战入门》
从零开始带你一步步开发一个 Go 博客项目,让你在最短的时间内学会使用 Go 进行编码。项目结构很大程度上参考了 Laravel。
讨论数量: 12
ShiKi

你没有这个字段,怎么查询.

2年前 评论
颠倒的玉石 (楼主) 2年前

追加模型属性,需要先定义访问器,然后在模型属性 appends 中添加该属性名。这个只是针对模型层面的,是一个虚拟列名。

查询构造器中where的第一个参数是表中已存在的列名,是真实列名,需要数据库表中有对应列

2年前 评论

你这个where是属于查询构造器的,是针对数据库的,数据库都没这个字段,所以才报错,你可以把数据获取到之后用集合的where

2年前 评论
陈先生

你boss: 这个问题让公司的小李处理吧, 你先歇歇吧.

你: 老板,我们公司没有小李这个人啊!!!

你boss: 跟你在论坛问的问题不是一个场景吗?

你: emo

2年前 评论
她来听我的演唱会 2年前

要马儿跑,又不给马儿吃草。

2年前 评论

追加的字段不能直接当条件的,好久之前也遇到过同样的问题

2年前 评论

先不要使用 Level 作为查询判断,如果你的查询结果中 Level 有值的话,可以使用 Collection 中的 where 再次筛选。

2年前 评论
chowjiawei

自定义分页 把基础查询缓存到redis 没有什么性能问题

2年前 评论

没有分页的话 就把关联id拿过去查对应的level,然后在合并数组 wherehas有大坑, 用的exists 走不到索引 加个字段得了

2年前 评论

就按照你说的加个冗余字段就好了,简单高效!

2年前 评论

讨论应以学习和精进为目的。请勿发布不友善或者负能量的内容,与人为善,比聪明更重要!