2016-03-04 81 views
0

我是Laravel的新手。Laravel专栏别名

我写了一个控制器,将加入3表并返回行,然后在模型上,他们将使用分页

在模型如表所示,我需要得到一个特定的表的ID。

问题是id字段是所有表中的常见名称。当我做$ rec-> id时,它不会提取我期待的id。

我试着用谷歌搜索如何为我的列创建一个别名,但它不工作,通常会得到一些SQL错误。

有人可以请建议一个解决方案。

- 更新代码

$查询= DB ::表( '查询');
$ queries = $ enquiries-> join('user_masters','enquiries.user_master_id','=','user_masters.id');
$ queries = $ enquiries-> join('items','enquiries.items_id','=','items.id');

返回查看( '查询', '查询'=> $查询)

我能够得到所有其他列的值。我只需要在模型上获取查询ID。但正如我所说,所有3张桌上都有ID。 谢谢。

解决方案
,因为我是使用分页,我增加一条,作为下面
->select(array('enquiries.id as enquiries_id','enquiries.* ','table2.* ','table3.*'));

+0

该解决方案正在继续学习MVC结构和数据库查询。我不想冒犯,但从你的问题中可以明显看出,你没有得到ORM的想法(并且也加入了)。 –

+0

@HilmiErdemKEREN,谢谢你的回复。没有冒犯。这是我的第一个MVC项目。你能指导我走向正确的方向吗?我已更新OP –

回答

0

您可以使用选择

<?php 

$query = \DB::table('enquiries') 
    ->join('user_masters', 'enquiries.user_master_id', '=', 'user_masters.id') 
    ->join('items', 'enquiries.items_id', '=', 'items.id') 
    ->select('enquiries.id as enquiries_id'); // and so on. 

$enquiries = $query->get(); 

... 
+0

谢谢。有效。我没有使用get(),因为我使用了paginate()。 –