2018-04-12 18:24:28 2373次浏览 3条回答 0 悬赏 50 金钱

sql 语句直接在数据库中执行没有问题,但是用findBySql查询没有返回结果,代码如下:

$sql = 'select sum(b.sing) as singNum,sum(b.dance) as danceNum,sum(b.reading) as readingNum,sum(b.sport) as sportNum,sum(b.other) as otherNum from record a,interest b where a.id=b.uid';

$data = ShowRecord::findBySql($sql)->all();

打印 $data, 显示:
47.png

数据库中执行sql后结果:
03.png

但是把sql换成简单的sql,如:$sql = 'select * from record'; 这样的话 $data 是有结果的,这是什么情况呀

最佳答案

  • 发布于 2018-04-13 09:54 举报

    因为你查询出来的字段 均不属于 ShowRecord 这个类,两个办法:
    1、给 ShowRecord 类添加五个成员变量,分别为 singNum,danceNum,readingNum,sportNum,otherNum
    2、asArray一下 ->asArray()->all()

您需要登录后才可以回答。登录 | 立即注册
最爱大裤衩
见习主管

最爱大裤衩 上海

注册时间:2018-03-27
最后登录:2019-05-29
在线时长:8小时30分
  • 粉丝2
  • 金钱175
  • 威望0
  • 积分255

热门问题