我需要帮助将此查询转换为Laravel查询生成器
如果您愿意,我需要一些帮助来将此查询转换为Laravel的查询生成器:我需要帮助将此查询转换为Laravel查询生成器,laravel,query-builder,laravel-query-builder,Laravel,Query Builder,Laravel Query Builder,如果您愿意,我需要一些帮助来将此查询转换为Laravel的查询生成器: SELECT DATE(created_at) AS Date, SUM(CASE WHEN `Type` = 'Votes' THEN 1 ELSE 0 END) AS 'Total Votes', SUM(CASE WHEN `Type` = 'Users' THEN 1 ELSE 0 END) AS 'Total Users' FROM ( SELEC
SELECT
DATE(created_at) AS Date,
SUM(CASE WHEN `Type` = 'Votes' THEN 1 ELSE 0 END) AS 'Total Votes',
SUM(CASE WHEN `Type` = 'Users' THEN 1 ELSE 0 END) AS 'Total Users'
FROM
(
SELECT created_at, 'Votes' `Type` FROM votes
UNION ALL
SELECT created_at, 'Users' FROM users
) t
GROUP by DATE(created_at)
ORDER by DATE(created_at) DESC
有人能帮我吗?
谢谢
================================================================
更新:
实际上,我的问题出在这段代码上:
public function getVoteResult($topic_id){
if($topic_id==null || $topic_id == ""){
return null;
}
$topic = VoteTopicModel::select('*')->where('topic_id', $topic_id)->first();
$choice = VoteChoiceModel::select('choice_id', 'name')->where('vote_topic_id', $topic_id)->get();
foreach($choice as $choices){
$choices['count_result'] = VoteChoiceSubmitModel::select('*')->where('vote_choice_id', $choices->choice_id)->count();
}
$data = array('topic_id' => $topic_id, 'topic_name' => $topic->name, 'topic_title' => $topic->title, 'choice' => $choice);
return $data;
}
它工作得很好,但正如您所看到的,我调用了三个表VoteTopicModel
,VoteChoiceModel
,VoteChoiceSubmitModel
,它们并不是真正有效的。所以我的朋友说试着用这个查询,但我真的不明白
提前谢谢!!为了帮助我…查询看起来非常大,无法快速转换为查询生成器,但您可以用简单的方法完成此操作
DB::select( DB::raw("SELECT
DATE(created_at) AS Date,
SUM(CASE WHEN `Type` = 'Votes' THEN 1 ELSE 0 END) AS 'Total Votes',
SUM(CASE WHEN `Type` = 'Users' THEN 1 ELSE 0 END) AS 'Total Users'
FROM
(
SELECT created_at, 'Votes' `Type` FROM votes
UNION ALL
SELECT created_at, 'Users' FROM users
) t
GROUP by DATE(created_at)
ORDER by DATE(created_at) DESC") )
您是否有任何代码尝试在Laravel的查询生成器中编写此代码?我已经更新了我的问题。提前谢谢@威尔沃尔什。。我懂了。。。谢谢你的回答@普拉尚特