【问题标题】:Convert Subselect to Eloquent Query将 Subselect 转换为 Eloquent 查询
【发布时间】:2013-06-21 19:51:37
【问题描述】:

我有这个 Subselect 查询,我希望能够将其转换为 Eloquent 查询。有人可以帮忙吗?

$query = 'SELECT * FROM ( SELECT * FROM `visits` WHERE `exit` = 0 ORDER BY `updated_at` DESC ) visits GROUP BY `visits`.`session_id`';

谢谢

【问题讨论】:

  • 发布DB模式,$table的值是多少?你有什么型号?
  • 更新了问题。我自己得到了答案。

标签: laravel laravel-4 eloquent


【解决方案1】:

让查询与连接一起工作:

Visit::select('visits.*')->
join(DB::raw('(SELECT * FROM `visits` WHERE `exit` = 0 ORDER BY `updated_at` DESC, `id` DESC) v2'), 'visits.id', '=', 'v2.id')->
groupBy('visits.session_id')->get();

【讨论】:

  • 在这种情况下您真的需要原始查询吗?你应该避免它们。您可以使用的 Eloquent 越多,您的应用程序就越安全。
猜你喜欢
  • 1970-01-01
  • 2013-01-08
  • 2016-07-25
  • 1970-01-01
  • 2018-09-12
  • 1970-01-01
  • 2020-10-03
  • 2016-11-23
相关资源
最近更新 更多