2016-03-04 47 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()。 –