目前我有以下代码:
$image = Image::find($id);
$views = $image->views;
$image->views = $views + 1;
$image->save();
代码位于返回特定图像视图的函数中。问题是,每当用户请求此视图时,图像视图计数都应该增加,但是,我不喜欢在返回视图的函数中使用此逻辑,因此我希望创建一个:
public function updateImageViews() {
logic that updates views;
}
在我的控制器中的某个地方(我一直在考虑把它放在我的ArtworkController
中),然后在我的函数中调用返回视图的函数。
现在我想知道这是否是一个好方法。问题是,我不认为这将工作到现在,因为我不认为我被允许从另一个控制器调用函数,而不先做一些事情。
对于更复杂的事情,你使用服务。你把业务逻辑或复杂的操作放在那里。然后,您可以在其他服务或多个控制器中调用此服务——无论您需要什么。
关于上面的代码,它实际上可以重构成一行,所以可能不需要将它提取到其他方法中。简化的代码如下所示:
Image::find($id)->increment('views');
但是,如果您真的想在某个地方提取代码,我将使用静态方法为这种简单的代码模型(在本例中为Image
):
public static function updateViews($id)
{
$image = static::find($id);
$views = $image->views;
$image->views = $views + 1;
$image->save();
return $image;
}
问题内容: 在我的Web应用程序中,我必须将电子邮件发送给一组预定义的用户,例如,因此我希望将其添加到文件中并在需要时进行访问。这是正确的过程吗?如果是这样,那我应该把这个文件放在哪里?我正在使用Netbeans IDE,它具有用于源文件和JSP文件的两个单独的文件夹。 问题答案: 这是你的选择。Java Web应用程序归档(WAR)中基本上有三种方式: 1.将其放在类路径中 这样就可以使用相对于
问题内容: 我们已经发布了几年前基于JDK 5开发的分布式Web应用程序。 JMX将如何帮助该应用程序? 1)它可以帮助我监视性能(内存,CPU,网络和磁盘IO)吗? 2)如果是这样,则应用程序部署在多台服务器中,如何在一个仪表板中进行监视? 3)是否必须对现有应用程序进行任何新的代码更改,或者可以在不更改代码的情况下进行监视? 4)除了性能监控,我们还能做什么?由于名称是Management E
环境 我使用MacOSXYosemite,MAMP版本(3.0.7.3)。 文档根 我已经将文档根目录设置为指向我的文件夹。 许可证 有些人建议我完全chmod我的laravel文件夹,我也通过运行来实现这一点。 测试 转到:http://localhost:8888/,我得到的只是空白 我怎么才能让这个工作?
问题内容: 我正在为我的游戏创建一个关卡编辑器,但在将LwjglCanvas与JFrame一起使用时遇到了问题。我使用JFrame(而不是LwjglFrame)来保持引擎和关卡编辑器尽可能独立。我有两个JAR:WorldEditor.jar和GameEngine.jar。在WorldEditor内部,我有一个名为“测试”的按钮,该按钮假设是将GameEngine.jar(如果尚未加载)加载并将其启
我正试图在游戏中首次发布Android应用程序。谷歌。com使用应用程序包。该应用程序在Android Studio中使用Flatter SDK实现,并使用以下命令生成捆绑包: 当我将捆绑包上传到Google Play控制台时,我收到以下警告: 我观察到很多人提出了类似的问题,但我无法找出这个问题的确切原因以及如何解决这个问题。 通过修改如下 开始给我以下错误:
我是拉雷维尔的新手,正在努力找到自己的路。 我已经创建了一个php文件,它有几个函数一个生成一个随机数,一个显示日期等等。。。 我有一个查看页面,点击一个单选按钮,我会生成一个随机数,所以我的问题是在应用程序中包含我的php文件,以及如何从查看页面调用特定函数,以便只执行文件的该部分。 我的代码在这里。。。 看法刀身php 我的PHP页面到现在为止,我已经包含了应用程序文件夹内的PHP页面,并将其