我把功能变成了模型类
public function scopetest($query)
{
return $query->pluck('name');
}
}
我的控制器代码是
public function index()
{
$books = Book::all();
return view('welcome',compact('books'));
}
获取test()函数结果我写了我的视图文件
@foreach($books as $book)
{{$book->test()}}
@endforeach
但问题是,当我访问此页面时,它将显示“名称”字段值3次.为什么它显示3次?如何从视图中调用模型函数? &安培;什么是正确的过程?请帮助please
解决方法:
有许多方法可以在视图中调用模型函数.
方法1:
通过一些模态在控制器中查看,如:
$model = Model::find(1);
View::make('view')->withModel($model);
在modal中创建一些函数:
public function someFunction() {
// do something
}
在视图中,您可以直接调用此函数:
{{$model->someFunction()}}
方法2或其他方式:
您可以在模型中创建静态函数,如:
public static function someStaticFunction($par1, $par2) {
// do what you need
}
在您的视图中,您可以直接将函数建模为:
{{App\Model::someStaticFunction($par1,$par2)}}
标签:php,function,laravel,model,eloquent
来源: https://codeday.me/bug/20190611/1217971.html