Laravel Observer或MySQL触发器?
问题描述:
我感到困惑,这是laravel观察者或MySQL触发器之间的最佳实践。Laravel Observer或MySQL触发器?
在Laravel,我的代码看起来像
public function updated(My_Activity $my_activity)
{
$activity = new Activity_Log();
$activity->activity_id = $my_activity->id;
$activity->status = $my_activity->status;
$activity->description = $my_activity->description;
$activity->save();
}
在MySQL中,
BEGIN
INSERT INTO Activity_Log
SET id = OLD.id, status = OLD.status, description = OLD.description
END
什么是最好的做法是什么?未来他们中的一个对他们有好的影响吗?
答
我更喜欢Laravel Observer选项,因为它允许您在应用程序中保留业务逻辑(源代码管理)。此外,通过使用Eloquent,您可以将业务逻辑保持在相同的抽象级别。
出于同样的原因,Laravel引入了一个Task scheduler。它允许你保持你的cron条目在源代码控制之下。
https://laravel.com/docs/5.5/scheduling
在过去,你可能已经为您生成 需要安排您的服务器上的每个任务cron项。但是,这可能很快就会变成一种难题,因为您的任务计划不再位于源代码管理中,您必须通过SSH连接到您的服务器才能添加其他Cron条目。
好的回答, 这意味着,让我们跟踪我们从laravel构建的每个代码。 :) – Bobby