2016-02-13 33 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'));