【发布时间】:2019-11-17 09:37:28
【问题描述】:
在 Laravel 5.6 刀片/视图中调用控制器函数时,我收到以下错误消息。
方法 Illuminate\Database\Query\Builder::show 不存在
我找不到错误或此错误的来源。我在这里阅读了数十篇同样错误的帖子,但没有一篇与我拥有的模型/控制器(...)的代码/上下文/类型有关。
显示错误消息的刀片视图。
刀片
@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;
}
}
型号
class Portfolio extends Model
{
public function transaction()
{
return $this->hasMany('App\Transaction', 'id_portfolio', 'id_portfolio');
}
public function user()
{
return $this->belongsTo('App\User', 'id_user', 'id');
}
}
使用 all() 而不是 show() 进行测试,它可以工作。
【问题讨论】:
标签: php laravel eloquent laravel-5.6