Php 使用Laravel';s查询生成器或Eloquent将表与临时表进行内部联接
我有一个相当复杂的查询,为了便于阅读,我将对其进行简化:Php 使用Laravel';s查询生成器或Eloquent将表与临时表进行内部联接,php,mysql,laravel,eloquent,laravel-query-builder,Php,Mysql,Laravel,Eloquent,Laravel Query Builder,我有一个相当复杂的查询,为了便于阅读,我将对其进行简化: SELECT `temp_table`.field1, `temp_table`.field2 FROM (A TEMPORARY TABLE MADE OUT OF A SELECTION QUERY) AS temp_table INNER JOIN table ON temp_table.field1 = table.id WHERE table.some_field = 'something' 我目前正在为此使用一个原始查询,
SELECT `temp_table`.field1, `temp_table`.field2 FROM
(A TEMPORARY TABLE MADE OUT OF A SELECTION QUERY) AS temp_table
INNER JOIN table ON temp_table.field1 = table.id
WHERE table.some_field = 'something'
我目前正在为此使用一个原始查询,但现在我想使用查询生成器或Laravel中的雄辩ORM重写它。我是拉雷维尔的新手。因此,任何想法或帮助都将受到感谢。尝试使用
方法“fromSub”将字符串作为第二个参数,它在sql中是“as”,因此您可以使用它来命名临时表
DB::query()->fromSub(function ($query) {
$query->selectRaw('your query to get the temp_table');
}, 'temp_table')->join('table','table.id','=','temp_table.field1')
->where('table.some_field','something');