在Laravel运行我的第一个工作代码的问题



我正在尝试了解更多关于Laravel中的作业,我已经创建了一个作业,并试图编写一些代码,从最终幻想14 API中提取新闻数据并将其写入数据库,我计划每30分钟运行一次,但由于某些原因,当涉及到迭代变量中的json_decode((时,我遇到了问题,以下是完整的功能:

public function handle()
{
$file = 'log.txt';
$response = Http::get('https://lodestonenews.com/news/topics?locale=na');
$articles = json_decode($response, true);
foreach($articles as $article){
$uniqueid = $article->id;
$url = $article->url;
$title = $article->title;
$time = $article->time;
$image_url = $article->image;
$description = $article->description;
$record = FF_News::where('uniqueid', '=', $uniqueid)->get();

if($record === null) {

$file = 'log.txt';
file_put_contents($file, "ID - " . $article->id . " Not Found, Inserting in Database", FILE_APPEND);
$newArticle = new FF_News;

$newArticle->uniqueid = $uniqueid;
$newArticle->url = $url;
$newArticle->title = $title;
$newArticle->time = $time;
$newArticle->image_url = $image_url;
$newArticle->description = $description;
$newArticle->save();
}else {
file_put_contents($file, "Found ID - " . $article->id . " - Not writing to database", FILE_APPEND);
}
};
}

请让我知道是否有更好的方法来处理这件事,或者是否有我现在不太擅长的事情。感谢您提前提供的帮助!

只是一些反馈,我会创建一个临时函数来调试您遇到的任何问题,因为作业不会立即返回任何错误。所有作业错误都显示在laravel.log文件中。最后,我会在控制器中获取所有的api数据,并将其传递给作业,而不是使用构造函数!希望这能有所帮助。

事实上,我最终发现了这个问题,由于我没有正确的错误处理来告诉我发生了什么,它默默地失败了,在查看laravel.log文件后,我发现它根本没有击中数据库表,我更新了模型以使用那个特定的表,现在一切都很好!

相关内容

  • 没有找到相关文章

最新更新