Laravel 如何获取模型的空生成器?

Laravel 如何获取模型的空生成器?,laravel,builder,Laravel,Builder,假设我有一个返回生成器的函数。如果这个构建器无法返回,我想返回一个空的构建器——也就是说,一个不指向任何数据的构建器。如果执行get(),将得到空集合。有什么想法吗?你就是这样做的: $builder = Post::query(); 如果您的模型具有主键,则可以将此作为解决方法: $builder = Post::query()->whereNull('id') 这与OP所要求的不同:如果在此查询上调用get(),它将返回数据库中的所有值,而不是OP所要求的任何值。然而,这对我

假设我有一个返回生成器的函数。如果这个构建器无法返回,我想返回一个空的构建器——也就是说,一个不指向任何数据的构建器。如果执行get(),将得到空集合。有什么想法吗?

你就是这样做的:

$builder = Post::query();

如果您的模型具有主键,则可以将此作为解决方法:

   $builder = Post::query()->whereNull('id')

这与OP所要求的不同:如果在此查询上调用get(),它将返回数据库中的所有值,而不是OP所要求的任何值。然而,这对我很有用,因为我想要的正是这种行为。@VinGarcia我认为OP只是要求错误的东西。这是一个空的构建器。但是它仍然会命中数据库,所以我不认为你指的是一个没有任何限制的构建器,也就是说,如果你做一个get,你将得到每一行。这将适合您选择的答案。