ThinkPHP5.1中数据查询使用field方法数组参数起别名时遇到的问题
程序员文章站
2024-01-05 16:26:22
首先数据库基本查询是没有问题的 返回结果为: 但是当field参数为数组,需要给字段起别名时: 却报了以下错误: (修改字段为中文时才会出现该错误,小白看不懂报错...)查询手册发现,还有另外一种起别名的方法: 结果成功运行: 不禁好奇:是不支持数组参数起别名了吗?还是说我哪里配置的不正确? ......
首先数据库基本查询是没有问题的
<?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); } }
结果成功运行:
不禁好奇:是不支持数组参数起别名了吗?还是说我哪里配置的不正确?