Laravel错误:方法Illuminate \ Database \ Query \ Builder :: show不存在

时间:2019-07-07 19:10:39

标签: php laravel eloquent laravel-5.6

在Laravel 5.6刀片/视图中调用Controller函数时,出现以下错误消息。

  

方法Illuminate \ Database \ Query \ Builder :: show不存在

我找不到错误或此错误的来源。我在这里阅读了数十篇错误相同的文章,但没有一篇与我的代码/上下文/模型/控制器类型(...)有关。

显示错误消息的刀片视图。

刀片

Uncaught TypeError: copyText.select is not a function

控制器

@foreach (\App\Portfolio::show() as $port)
    <option value="{{$port->id_portfolio}}">{{$port->name}}</option>
@endforeach

模型

class PortfolioController extends Controller
{
    public function show()
    {
        $portfolio = \App\Portfolio::where([
            ['flg_active', '=', true],
            ['id_user', '=', Auth::user()->id]
        ])->get();

        return $portfolio;
    }
}

使用all()而不是show()进行测试,它可以工作。

1 个答案:

答案 0 :(得分:1)

刀片中调用模型。 而您需要的方法是在控制器PortfolioController

PortfolioController

public static function show()

刀片

@foreach (\App\PortfolioController ::show() as $port)
   <option value="{{$port->id_portfolio}}">{{$port->name}}</option>
@endforeach