【发布时间】:2018-04-04 09:26:15
【问题描述】:
我有一个复杂的原始 SQL 查询,我不想重新转换为查询生成器。有没有办法将查询结果映射到模型?
简而言之,我有这样的查询:
SELECT users.* FROM users
WHERE exists (super_long_raw_query)
AND many_more_raw_where_clauses
ORDER BY something_complex
etc;
它只返回一个模型中的列(从一个模型对应的表中)。
将其转换为“Laravel Query Builder”查询会很糟糕且不可读:
User::where(/* ... */)
->whereExists(function() { /* super complex callback */ } )
->etc(/* ... */)
原始查询更容易阅读(在这种特定情况下)。
有没有办法将原始查询映射到模型?(假设它只返回特定模型的列)
旁注:这是一个使用查询参数(?、:something)的原始查询,因为我不想注入。
【问题讨论】:
标签: php laravel laravel-5 eloquent laravel-5.6