用复杂的Laravel语言编写的简单SQL查询

时间:2014-03-27 16:41:25

标签: sql laravel

我需要的是像这样简单的东西

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

但是用LARAVEL的ABSTRUSE和COMPLICATED LANGUAGE编写

$users = DB::select('select * from users where id = ?', array($id));

我不知道如何继续使用contacts表继续编写联接,就像我上面简单,清晰,健康的直接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中编写连接的完整查询,或者上帝知道那是什么,所以如果我没有正确设置查询,我就无法打印它。

如果你知道怎么做,那就非常感谢。

问候

2 个答案:

答案 0 :(得分:0)

您可以将其编写为原始查询(如DB :: select()语句),也可以使用query builder's joins,然后您将收到stdClass对象。如果您愿意,可以在具有相同语法的Eloquent模型上使用它,但以Model::join()

开头

答案 1 :(得分:0)

User :: join(“ contacts”,“ users.id”,“ =”,“ contacts”)-> select([“ fname”,“ lname”,“ mobile”])-> where(“ users .id“,25)-> get()