【问题标题】:how to convert query sentences to DB::raw eloquent laravel?如何将查询语句转换为 DB::raw eloquent laravel?
【发布时间】:2026-02-22 12:30:01
【问题描述】:
SELECT u.*,(
SELECT COUNT(*) FROM (
SELECT id,author_id FROM posts p
UNION ALL
SELECT id, author_id FROM updates up
) total_table WHERE author_id = u.id) as total_post FROM users u ORDER BY total_post
我有查询行想要 DB::raw。你能帮助我吗???非常感谢
【问题讨论】:
标签:
php
mysql
database
laravel-5
【解决方案1】:
使用raw query 喜欢:
DB::select(DB::raw('SELECT u.*,(
SELECT COUNT(*) FROM (
SELECT id,author_id FROM posts p
UNION ALL
SELECT id, author_id FROM updates up
) total_table WHERE author_id = u.id) as total_post FROM users u ORDER BY total_post'));
Reference
【解决方案2】:
或者你可以使用DB::satement来做到这一点
$query='SELECT u.*,(SELECT COUNT(*) FROM (
SELECT id,author_id FROM posts p
UNION ALL
SELECT id, author_id FROM updates up) total_table WHERE author_id = u.id) as total_post FROM users u ORDER BY total_post';
$data=DB::statement($query);
像这样。