Php Laravel5中查询生成器的本机SQL
我在Laravel5上有两个表,必须使用查询生成器。我已经得到了它的sql,但我无法将其转换为查询生成器语法。SQL是Php Laravel5中查询生成器的本机SQL,php,sql,laravel,Php,Sql,Laravel,我在Laravel5上有两个表,必须使用查询生成器。我已经得到了它的sql,但我无法将其转换为查询生成器语法。SQL是 SELECT COUNT(A.cid) FROM `A` WHERE A.cid IN (SELECT `id` FROM `B` WHERE `create_user`='$name') AND `access_time` BETWEEN '$start_data' AND '$end_data' 当我使用 DB::table('A') ->joi
SELECT COUNT(A.cid) FROM `A` WHERE A.cid IN (SELECT `id` FROM `B` WHERE `create_user`='$name') AND `access_time` BETWEEN '$start_data' AND '$end_data'
当我使用
DB::table('A')
->join('B', function ($join) {
$join->on('A.id', '=', 'B.cid');
})
->get();
有些语法是这样的,这是错误的,那么如何才能转换本机SQL呢like “IN”进入查询 建设者 ,谢谢这是以下语法:
这是的语法:
尝试以下查询并查看结果:
$result= DB::table('a')
->select(DB::raw('COUNT(a.cid) as total_cid'))
->join('b', 'a.cid', '=', 'b.id')
->where('b.create_user', $name)
->whereBetween('a.access_time', [$start_data, $end_data])
->first();
或者试试这个
$result= DB::table('a')
->join('b', 'a.cid', '=', 'b.id')
->where('b.create_user', $name)
->whereBetween('a.access_time', [$start_data, $end_data])
->count();
在您的问题中,您询问了如何在中使用,对于
中的,请尝试以下操作:-
$result= DB::table('a')->whereIn('cid', [1,2,3,4]);
尝试以下查询并查看结果:
$result= DB::table('a')
->select(DB::raw('COUNT(a.cid) as total_cid'))
->join('b', 'a.cid', '=', 'b.id')
->where('b.create_user', $name)
->whereBetween('a.access_time', [$start_data, $end_data])
->first();
或者试试这个
$result= DB::table('a')
->join('b', 'a.cid', '=', 'b.id')
->where('b.create_user', $name)
->whereBetween('a.access_time', [$start_data, $end_data])
->count();
在您的问题中,您询问了如何在
中使用,对于
中的,请尝试以下操作:-
$result= DB::table('a')->whereIn('cid', [1,2,3,4]);
通常,发布错误消息有助于其他人解决问题;)通常,发布错误消息有助于其他人解决问题;)第二种方法可以得到结果第二种方法可以得到结果