2015-10-16 64 views
0

我想自定義類實例作爲從數據庫查詢的結果:創建自定義類的結果集

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

回答

0

你要麼需要改變你的DB類這實際上是獲取數據庫結果的行爲,或者您需要實現一些新的功能,將一個陣列映射到一個響應目的。在不瞭解這些代碼塊的情況下,我們無法爲您提供更多的幫助。

+0

我添加了我的響應者類。數據庫由Laravel的Eloquent訪問。 – sesc360

+0

需要模型:)對不起,這是什麼框架? – DaOgre

+0

我正在使用Laravel 5.1 – sesc360