php - 创建自定义类结果集

标签 php mysql laravel

我想获取自定义类实例作为数据库查询的结果:

class AEDHelper {
    static public function searchAED($position) {
        $var1 = $position['latitude'];
        $var2 = $position['longitude'];
        $var3 = $position['latitude'];

        $queryResults = DB::select(DB::raw("SELECT * FROM TABLE"));

        $aedResults[] = new AED;

        foreach($queryResults as $result) {
            var_dump($result);
            $aed = $result;
            $aedResults[] = $aed;
        }

        return $aedResults;
    }
}

但我只收到 stdClass 对象。我在系统中使用的 TransformerClass 需要一个响应者对象。如何从查询中获取这些对象?我试图在循环结果集时创建它们。但这是行不通的。正确的方法是什么?

响应者类

<?php

namespace App\Classes;

use Illuminate\Database\Eloquent\Model;
use App\Events\EventGenerator;
use App\Events\ResponderWasAlarmed;

class Responder extends Model {

    use EventGenerator;

    protected $table = 'responders';
    protected $fillable = ['user_id', 'latitude', 'longitude', 'created_at', 'updated_at'];
    public $timestamps = true;

    public function set($data) {
        foreach ($data as $key => $value) {
            $this->{$key} = $value;
        }
        return $this;
    }

    public function incidents() {
        return $this->belongsTo('App\Classes\Incident');
    }
}

最佳答案

您要么需要更改实际获取数据库结果的数据库类的行为,要么需要实现一些将数组映射到响应程序对象的新功能。如果不了解这些代码块,我们实际上无法为您提供更多帮助。

关于php - 创建自定义类结果集,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33178630/

相关文章:

php - 将 div 转换为图像的最佳方法?使用 php、javascript 或 jquery

mysql - 通过vba调用mysql存储过程

node.js - 使用 HTTPS 的套接字 IO 和 Node 给出错误 net::ERR_INSECURE_RESPONSE

php - 如何更新从 Laravel 中的 N 到 N 关系创建的表的外键?

php - php Laravel与json类型数据的关系错误

php - 如何在 PHP 中合并 2 个带有数字索引的数组并替换值?

php - 表单中的数据未使用 php 添加到数据库表中

javascript - 计算网络 map 应用程序中栅格的平均值

MySQL 更改默认密码但出现错误

php - MySQL 表内表或替代