gpt4 book ai didi

php - 在模型中的数据库查询生成器中使用 Controller 变量 - Laravel

转载 作者:行者123 更新时间:2023-11-29 12:31:57 25 4
gpt4 key购买 nike

目前,我在使用查询生成器创建的 Controller 方法中有查询。就像这样:

 public function postFilters(){
$filt = Input::get('name');
$query = DB::table('wm.top_pages')->where('filter',$filt)->limit(20)->get();

return View::make('topPages.table', ['wm'=>$query]);
}

我想将查询从 Controller 外部获取到我的模型中。但每次我这样做时,我都会收到错误,因为与上面相同的查询,但现在我的模型内部无法识别变量 $filt,它实际上是从我的 View 中获取的。谁能建议如何解决这个问题?我上面所做的实际上不是 MVC 应该看起来的样子,我假设有一些方法可以解决它。我只是无法理解有关此特定主题的大部分文档。

非常感谢。

最佳答案

如果我是你,我会创建一个存储库接口(interface),并为其创建一个实现,在这个实现中我将添加所有查询,然后变量过滤器将作为参数传递,然后在我的 Controller 中我会注入(inject)我的界面(使用 laravel 非常简单)。所以我最终得到了一个可扩展的应用程序,如果我想从 MySQL 切换到另一个数据库,我所要做的就是创建一个新的实现并配置 laravel 以使用新的实现。我就是这么做的。如果您想了解有关存储库模式的更多信息,here's a good article.

关于php - 在模型中的数据库查询生成器中使用 Controller 变量 - Laravel,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27355610/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com