【发布时间】:2017-01-05 13:59:04
【问题描述】:
我正在使用 laravel 从数据库中提取一些日志信息,但它突然停止工作,因为它没有检索数据并且没有返回任何内容。我使用 vuejs 在不刷新页面的情况下检索数据,前端没有问题,因为仍然可以在 chrome 调试控制台中检索数据,并显示为 500 错误。
此外,我觉得奇怪的是它可以在本地工作,但不能在生产环境中工作。
有效和无效的示例代码
<?php
namespace App\Http\Controllers;
use App\Log;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class LogController extends Controller
{
public function getLogData()
{
//This is the original code & it doesn't work in production!
//$data = Log::orderBy('id', 'DESC')->select('action', 'object_id', 'ip_address', 'user', 'time', 'date')->get();
//This works! But only retrieves 1 row of information
$data = Log::where('id', 1)->get();
$data = str_replace('*', "<b>", $data);
$data = str_replace('^', "</b>", $data);
return $data;
}
}
这是日志模型,除了将数据真正输入数据库之外,它不应该真正影响任何事情,但只是以防万一有人需要这些信息。
namespace App;
use Illuminate\Database\Eloquent\Model;
class Log extends Model
{
protected $fillable = ['action', 'object_id', 'object_type', 'ip_address', 'user', 'time', 'date'];
}
如果我得到任何帮助,我们将不胜感激。
【问题讨论】:
-
对于 500 错误,请查看您在
storage/logs中的日志。我猜你可能需要重新排序你的 Log 语句:select,然后 orderBy,然后 get。 -
$data = Log::where('id', 1)->get();将只检索 ID = 1 的条目。当您在生产环境中尝试原始查询时,您会遇到什么错误? -
@aynber 如果是这种情况,那么 1 为什么它在本地工作,以及为什么它在过去六个月内工作,然后随机停止,我没有接触过这个网站的日志系统几个月。我会检查日志并回复你!
-
@DainisAbols 我认为您没有正确阅读问题
-
不知道,这就是猜测的原因。我知道当我混淆命令的顺序时我的系统会变得有点挑剔。你看过日志吗?
标签: php laravel-5.1