创建自定义类结果集

时间:2015-10-16 19:57:29

标签: 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需要一个Responder对象。如何从查询中获取这些对象?我试图在循环结果集时创建它们。但这不起作用。什么是正确的方法?

响应者类

<?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');
    }
}

1 个答案:

答案 0 :(得分:0)

您需要更改实际获取数据库结果的数据库类的行为,或者需要实现一些将数组映射到Responder对象的新功能。在不了解这些代码块的情况下,我们真的无法为您提供更多帮助。