当前位置: 首页 > 知识库问答 >
问题:

调用未定义的方法照明\数据库\雄辩\生成器::getAbsoltePath()[重复]

鲜于华容
2023-03-14

我有点困惑,我调用了未定义的方法illumb\Database\Eloquent\Builder::getAbsolutePath()(视图:C:\Users\rust\Desktop\projectName\resources\views\container\index.blade.php

我的ContainerController.php中的show方法如下所示:

public function show($args = '')
    {
        if($document = Document::where('key', $args)->first()) {
            return response()->download(storage_path('app'). DIRECTORY_SEPARATOR . $document->getAbsolutePath());
        }

        $items = explode('/', $args);
        $department = Auth::user()->department;

        if (Auth::user()->hasRole('Root')) {
            $department = Department::where('slug', '=', $items[0])->first();
            $items = array_slice($items, 1);
        }

        if($department == null) {
            return redirect('/');
        }

        if(file_exists(storage_path('app' . DIRECTORY_SEPARATOR . $department->slug . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $items)))
            && !is_dir(storage_path('app' . DIRECTORY_SEPARATOR . $department->slug . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $items)))) {

            return response()->file(storage_path('app' . DIRECTORY_SEPARATOR . $department->slug . DIRECTORY_SEPARATOR . implode(DIRECTORY_SEPARATOR, $items)));
        }

        $current_parent = 0;
        foreach ($items as $item) {
            $container = Container::where('slug', '=', $item)
                ->where('parent_id', '=', $current_parent)
                ->where('department_id', '=', $department->id)
                ->first();
            if(!$container) abort(404);
            $current_parent = $container->id;
        }

        $contents = Container::where('parent_id', '=', $current_parent)
            ->where('department_id', "=", $department->id)
            ->get();
        if (!($container = Container::find($current_parent))) {
            $container = $department;
        }

        return view('container.index', compact('container', 'contents', 'args'));
    }

我不知道我做错了什么但我现在有点迷茫

共有1个答案

姬捷
2023-03-14

在你的代码中<代码>$document是laravel集合。。不是文件对象。尝试加载文件,然后调用getAbsolutePath()

// code snippts.

if($document = Document::where('key', $args)->first()) {
            return response()->download(storage_path('app'). DIRECTORY_SEPARATOR . $document->getAbsolutePath());
}

编辑:在您的视图中,您还使用带有$容器的集合-

 类似资料:
  • 我有一个模型如下: 和购物车表列为: 还有一个名为的透视表,用于将模型与模型关联起来。 假设我有一个特定的变量。现在,我想要一个带有用户id的购物车和他们的产品。为此,我写了这篇文章: 但在运行之后,我得到了以下错误: 我不想使用懒惰加载方法,因为n查询问题。 此外,每个用户在同一时间只能有一个购物车。

  • Laravel Eloquent的save()方法实质上是执行查询生成器的工作吗? 查询生成器: 雄辩的: 如果这是真的,那么Eloquent的也是如此吗?我正在看Laravel的官方视频教程,我看到作者在控制器中使用了雄辩的和。这就是查询生成器和雄辩的区别吗?我们可以使用雄辩的内部控制器?

  • 我用的是拉威尔5.8 我有一个封闭的问题: $user=user::get(); 然后这不起作用: $用户- 出现这种情况: 方法照亮\数据库\雄辩\集合::跳过不存在。 告诉我我应该做些什么来实现这一目标而不出错?

  • 我正在尝试用Laravel 5.2设置PHPUnit。我按照留档进行了简单的单元测试,但是每个测试都会抛出相同的错误: 1) CreateAccountTest::testCreateUserWithInvalidEmail BadMethodCallException:调用未定义的方法Illumb\Database\Query\Builder::make() /some/path/vendor/

  • 我使用雄辩,以获得我的产品在数据库中的价格。这是我的代码: 我肯定会得到一个价格与此查询。但是当我执行我的代码时,我得到以下错误: PHP找不到$this- 我得到: 我不知道为什么我不能进入这个- 我使用Laravel 4.2。

  • 我有一个自定义文件,其中包含我所有图像的路径及其标签,我在一个数据框中加载使用: MyIndex有两列感兴趣的ImagePath和ClassName 接下来我做一些训练测试拆分和编码输出标签为: 我面临的问题是一次性加载的数据太大,无法放入当前的机器内存,因此我无法处理完整的数据集。 我曾尝试使用datagenerator,但不想遵循它遵循的目录约定,也无法消除增强部分。 问题是,是否有一种方法可