laravel $ request在生产中未定义,在本地有效

时间:2018-09-04 13:03:42

标签: php laravel request

我在Laravel和Request上遇到了一个奇怪的问题:

在我的控制器中,我的索引为:

use Illuminate\Http\Request;
/**
 * Display a listing of the resource.
 *
 * @param Request $request
 * @param $id
 * @return \Illuminate\Http\Response
 */
public function index(Request $request, $id) {
   try {
        $from = Carbon::parse($request->query->get('from', '1970-01-01'));
        $till = Carbon::parse($request->query->get('till', Carbon::now()))->endOfDay();
    } catch (\Exception $e) {
        return response()->json([
            'error' => 'Invalid time range or data',
        ], 400);
    } 
}

可在我的本地计算机上使用。 但是,当我将其部署到生产和转储($ e)的catch(\ Exception $ e)中时,出现以下异常:

  

$ message:“未定义的变量:请求”

所以我改为

use App\Api1\Requests\TicketRequest;

public function index(TicketRequest $request, $id)

可在本地和生产服务器上使用。

TicketRequest.php只是扩展了请求:

class TicketRequest extends Request

谁能告诉我,为什么在生产中未定义$ request,但在本地未定义?

提前谢谢。

1 个答案:

答案 0 :(得分:0)

尝试

use Illuminate\Http\Request;
/**
 * Display a listing of the resource.
 *
 * @param Request $request
 * @param $id
 * @return \Illuminate\Http\Response
 */
public function index(Request $request, $id) {
try {
    $from = \Carbon::parse($request->query->get('from', '1970-01-01'));
    $till = \Carbon::parse($request->query->get('till', \Carbon::now()))->endOfDay();
} catch (\Exception $e) {
    return response()->json([
        'error' => 'Invalid time range or data',
    ], 400);
} 

}