前言
在使用webman进行mysql数据库操作的时候,有一个需求是从管理员列表中查询一行数据。
由于webman的数据库操作使用的是Laravel的构造器方法,因此开发的时候要查询Laravel开发文档-构造器方法
开发过程中,遇到一个问题,就是构造器返回的是一个复杂的对象,并不是常见的的数组。
查询后如何返回数组呢?
实现
在webman/config/database.php
中配置mysql数据库的基本信息。
新建一个数据库操作的Model:
// webman/app/model/Administer.php
<?php
/*
* @Description: 管理员列表
* @Author: feiYun
* @Email: 283054503@qq.com
* @LastEditTime: 2023-11-27 17:43:32
*/
namespace app\model;
use support\Model;
class Administer extends Model
{
/**
* The table associated with the model.
*
* @var string
*/
protected $table = 'admin'; // 数据库表名
/**
* The primary key associated with the table.
*
* @var string
*/
protected $primaryKey = 'id';
/**
* Indicates if the model should be timestamped.
*
* @var bool
*/
public $timestamps = false;
}
接下来,就可以在其他类里操作这个Model了。
有两种方法可以在Redis队列插件里进行数据库查询,并且返回数组。
查询方法1
根据用户名查询一条数据。
此方法不需要数据库Model类。
// webman/app/queue/redis/fast/Task.php
$user_info = Db::table('admin')->where('username', $username)->first(); // 返回对象
# 这里有个坑:laeael的Db方法返回的内容是一个对象,而phalapi的NotORM方法返回的是数组。需要判断数据类型并转换
if (is_object($user_info)) {
$user_info = get_object_vars($user_info); // 对象转数组
} else if (is_array($user_info)) {
# 无需转换
} else {
# 不支持的数据(请检查数据类型)
}
查询方法2
默认情况下,查询构建器返回的结果集是一个对象数组。
如果想将它们转换成普通的 PHP 数组,可以使用 toArray 方法:
// webman/app/queue/redis/fast/Task.php
use app\model\Administer;
$model = new Administer();
$user_info = $model->where('username', $username)->first()->toArray();
参考资料
1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » Laravel的数据库查询中根据条件查询一条数据并返回数组
飞云脚本圈: 586333520
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » Laravel的数据库查询中根据条件查询一条数据并返回数组