2016-02-13 34 views
4

您如何別名雄辯模型?例如,如果我有一個SQL查詢,如下所示:如何在查詢中別名雄辯模型

SELECT one.name 
    , one.id 
    , one.name AS sortkey1 
    , CAST(NULL AS UNSIGNED) AS sortkey2 
    , CAST(NULL AS UNSIGNED) AS sortkey3 
FROM locations AS one 
WHERE one.parent_id = 0 
UNION ALL 
.... 

在我的倉庫我會的東西如下:

$first = $this->model->where('one.parent_id', '=', 0) 
        ->select('one.name' 
          , 'one.id' 
          , 'one.name AS sortkey1' 
          , DB::raw('CAST(NULL AS UNISIGNED) AS sortkey2') 
          , DB::raw('CAST(NULL AS UNISIGNED) AS sortkey3')); 

所以你怎麼能別名模型。在上面的例子中,模型映射的位置表,並在我的雄辯查詢我想它別名爲one,而不是locations

回答

7

您可以使用from這樣:

$first = $this->model->from('locations as one') 
        ->where('one.parent_id', '=', 0) 
        ->select('one.name' 
          , 'one.id' 
          , 'one.name AS sortkey1' 
          , DB::raw('CAST(NULL AS UNISIGNED) AS sortkey2') 
          , DB::raw('CAST(NULL AS UNISIGNED) AS sortkey3'));