首页 > 编程语言 > 详细

ThinkPHP5.1中数据查询使用field方法数组参数起别名时遇到的问题

时间:2019-04-03 16:06:40      阅读:181      评论:0      收藏:0      [点我收藏+]

首先数据库基本查询是没有问题的

<?php

namespace app\index\controller;
use think\Db;

class Demo5
{
    //1.单条查询
    public function find()
    {
        $res = Db::table(‘customers‘)
            ->field(‘Name,CustomerID‘)
            ->where(‘CustomerID‘, ‘=‘, 1)
            ->find();
        dump(is_null($res) ? ‘没有找到‘ : $res);
    }

}

 返回结果为:

技术分享图片

但是当field参数为数组,需要给字段起别名时:

<?php


namespace app\index\controller;
use think\Db;

class Demo5
{
    //1.单条查询
    public function find()
    {
        $res = Db::table(‘customers‘)
//            ->field(‘Name,CustomerID‘)
            ->field([‘CustomerID‘=>‘顾客编号‘])
            ->where(‘CustomerID‘, ‘=‘, 1)
            ->find();
        dump(is_null($res) ? ‘没有找到‘ : $res);
    }

}

 却报了以下错误:

技术分享图片

(修改字段为中文时才会出现该错误,小白看不懂报错...)查询手册发现,还有另外一种起别名的方法:

<?php


namespace app\index\controller;
use think\Db;

class Demo5
{
    //1.单条查询
    public function find()
    {
        $res = Db::table(‘customers‘)
//            ->field(‘Name,CustomerID‘)
//            ->field([‘CustomerID‘=>‘顾客编号‘])
            ->field(‘CustomerID as 顾客编号‘)
            ->where(‘CustomerID‘, ‘=‘, 1)
            ->find();
        dump(is_null($res) ? ‘没有找到‘ : $res);
    }

}

结果成功运行:

技术分享图片

不禁好奇:是不支持数组参数起别名了吗?还是说我哪里配置的不正确?

 

ThinkPHP5.1中数据查询使用field方法数组参数起别名时遇到的问题

原文:https://www.cnblogs.com/sfriend/p/10649016.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!