我想获取自定义类实例作为数据库查询的结果:
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/