如何获取更新任务的输入字段?当dd(Request::input('task'));我试图
得到"非静态方法Illuminate\Http\Request :: input()时不应该静态调用,假设$ this来自不兼容的上下文"
<?php namespace App\Http\Controllers;
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Task;
use Illuminate\Http\Request;
class TaskController extends Controller {
public function update($id)
{
dd(Request::input('task'));
$task = Task::findOrFail($id);
$task->title = Request::input('task');
$task->save();
return Redirect::to('tasks');
}
Run Code Online (Sandbox Code Playgroud)
编辑视图(工作正常)
{!! Form::model($task, array('url' => 'tasks/'.$task->id, 'method' => 'PATCH'))
!!}
{!! Form::text('task', $task->task, array('class' => 'form-control')) !!}
{!! Form::submit('Edit', array('class' => 'btn btn-default')) !!}
{!! Form::close() !!}
Run Code Online (Sandbox Code Playgroud)
luk*_*ter 17
你导入错了Request.
要使用Request 外观,您必须:
use Illuminate\Support\Facades\Request
Run Code Online (Sandbox Code Playgroud)
或者只是别名:
use Request
Run Code Online (Sandbox Code Playgroud)
你也可以像这样使用依赖注入:
use App\Http\Requests;
use App\Http\Controllers\Controller;
use App\Task;
use Illuminate\Http\Request;
class TaskController extends Controller {
public function __construct(Request $request){
$this->request = $request;
}
public function update($id){
$task = Task::findOrFail($id);
$task->title = $this->request->input('task');
$task->save();
return Redirect::to('tasks');
}
}
Run Code Online (Sandbox Code Playgroud)
或者只在一种方法上使用DI:
public function update(Request $request, $id){
$task = Task::findOrFail($id);
$task->title = $request->input('task');
$task->save();
return Redirect::to('tasks');
}
Run Code Online (Sandbox Code Playgroud)
Mik*_*étt 10
您应该使用依赖注入:
use Illuminate\Http\Request;
...
public function update(Request $request, $id)
{
//
$task->title = $request->input('task');
//
}
Run Code Online (Sandbox Code Playgroud)
有关更多信息,请参阅文档:http://laravel.com/docs/5.0/controllers#dependency-injection-and-controllers
| 归档时间: |
|
| 查看次数: |
13862 次 |
| 最近记录: |