2014-03-27 31 views
0

我needt很簡單,因爲這簡單的SQL查詢到複雜Laravel語言編寫

select fname, lname, mobile 
from users, 
join contacts 
on users.id = contacts.id 
where users.id = 25 

,但寫在深邃而LARAVEL

複雜的語言
$users = DB::select('select * from users where id = ?', array($id)); 

我不知道如何來的東西繼續使用聯繫人表格編寫聯接,就像我在簡單,清晰和健康的直接SQL中所做的那樣。

我已經嘗試了整整一天,並且已經閱讀了小冊子的192頁。沒有一個示例顯示連接查詢,但可以打印爲對象。

隨着那簡單的線條我在將結果發送到視圖沒有問題,並打印這樣的:

return View::make('account.manageusers', compact('users')); 

@foreach ($users as $user) 
       <tr> 
      <td>{{ $user->fname }}</td> 
      <td>{{ $user->lname }}</td> 
      <td>{{ $user->mobile }}</td> 

但問題是,我不知道怎麼寫了完整的查詢中加入無論Laravel orm還是上帝知道那是什麼,所以如果我沒有正確設置查詢,就不能打印它。

非常感謝,如果你知道如何。

問候

+0

Laravel不是一種語言,它是一個PHP框架。你應該閱讀Laravel關係,看看是否可以讓你的語法更優雅。但是,您也可以在Laravel中運行[raw queries](http://laravel.com/docs/queries#raw-expressions)。 – elliotanderson

回答

0

您可以把它寫像一個數據庫中的原始查詢::選擇()語句,或者使用query builder's joins,你會收到一個stdClass的對象回來。如果你希望你可以在Eloquent模型上使用它,但語法相同,但是從Model::join()

+0

你好,我知道查詢構建器的片段,但正如我指出的,那麼你不能打印它作爲對象 - >符號,我想這樣,否則我不得不修改完整的查看頁面 –

+0

我試過這個(當然改變名稱) $ users = DB :: table('users') - > join('contacts','users.id','=','contacts.user_id') - > join('orders', 'users.id','=','orders.user_id') - > select('users.id','contacts.phone','orders.price');但後來無法打印,因爲我擁有它 –

+0

您必須在末尾使用 - > get()來從數據庫中獲取數據。 – machuga