我在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,但在本地未定义?
提前谢谢。
答案 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);
}
}