thinkphp tp5多表查询

thinkphp tp5多表查询,第1张

thinkphp tp5多表查询

    //以blogs为主表

    $res = Db::name('blogs')

      ->alias("a") //取一个别名

      //与category表进行关联,取名i,并且a表的categoryid字段等于category表的id字段

      ->join('category i', 'a.categoryid = i.id')

      ->join('user u', 'a.authorid = u.id')

      //想要的字段

      ->field('a.id,a.title,a.content,u.username,a.createtime,i.category,a.look,a.like')

      //查询

      ->select()

亲,按照你报的这个错来看,$res并不是有个有效的结果资源,什么意思呢?

就是说mysql_fetch_array()的参数需要一个有效的MySQL查询结果资源,你给的参数缺不是。

为什么会这样呢?可以看到,你用mysql_query()查询的结果赋给了$res,按理说这个结果应该就是结果资源,这样看来,问题肯定出在了$res上了。

建议:题主执行 var_dump($res),看看结果是什么,搞不好是false,查询就出错了。

建议打印出$res,题主打印后还是不能解决问题,可继续追问我哦。

在这句代码

"FROM " . $GLOBALS['ecs']->table('order_goods')." AS og, ".$GLOBALS['ecs']->table('order_info')." AS oi ".

后面加(注意点号的连接):

" LEFT JOIN ". $GLOBALS['ecs']->table('goods') . "AS g ON og.goods_id = g.goods_id ".

然后在开头的sql语句后面这里加上你要的字段:

$sql = 'SELECT og.goods_id, og.goods_sn, og.goods_name,og.goods_attr, og.goods_number AS goods_num, og.goods_price, g.gonghuojia '.

最后你去测试看一下行不行.


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/sjk/6770096.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-03-28
下一篇 2023-03-28

发表评论

登录后才能评论

评论列表(0条)

保存