Php 拉威尔原始查询问题
我有两个问题: 问题1:Php 拉威尔原始查询问题,php,laravel,eloquent,Php,Laravel,Eloquent,我有两个问题: 问题1: $rows = DB::table(self::TABLE_NAME) ->selectRaw('subforum_id, count(1) as count') ->groupBy('subforum_id') ->get(); 有没有可能用雄辩的语言来写这篇文章 第二点: Topic::where('id', $topicId)->update(['posts_count' => +1
$rows = DB::table(self::TABLE_NAME)
->selectRaw('subforum_id, count(1) as count')
->groupBy('subforum_id')
->get();
有没有可能用雄辩的语言来写这篇文章
第二点:
Topic::where('id', $topicId)->update(['posts_count' => +1]);
我需要将+1添加到列posts\u count-如何做到这一点
有人能解释一下生的是什么吗 您可以编写原始查询,如:
DB::table(DB::raw("Update topic set posts_count = posts_count + 1"))
原始查询几乎在每个框架中都可用,它用于在框架方法不足以进行查询的情况下进行复杂查询。您可以简单地使用它 雄辩地: 主题::查找$topicId->increment'posts_count' 或使用查询生成器执行以下操作:
DB::table('topics')->where(['id'=>$topicId])->increment('posts_count');
根据laravel query builder文档为什么第一个会导致问题?是否有可能通过Elount+raw实现这一点?是的,你可以。比如:DB::table'users'->selectDB::raw'count*作为user\u count,status'->where'status',1->groupBy'status'->get;