代码之家  ›  专栏  ›  技术社区  ›  nowox

在雄辩的查询生成器宏中不能使用“with”

  •  0
  • nowox  · 技术社区  · 5 年前

    我想用 with 在一个雄辩的宏上,但我得到了这个错误消息:

    Call to undefined method Illuminate\Database\Query\Builder::with()
    

    以下工作:

    $builder = Model::query();
    $builder->with('relationship')->toSql();
    

    但如果我在宏中这样做:

    use Illuminate\Database\Query\Builder;
    
    Builder::macro('foobar', function() {
        $this->with('relationship')->toSql());
    });
    
    $builder = Model::query();
    $builder->foobar();
    

    然后我收到一条错误消息。

    这是一个错误还是我做错了什么?

    1 回复  |  直到 5 年前
        1
  •  1
  •   nakov    5 年前

    您使用的导入错误,请尝试将宏添加到雄辩的生成器中:

    use Illuminate\Database\Eloquent\Builder;