2015-02-05 5 views
6

작업 업데이트를위한 입력란을 얻으려면 어떻게해야합니까? dd(Request::input('task'));하려고 할 때 나는 을 얻을 "비 정적 메서드를 분명히 \ HTTP를 \ 요청 :: 입력() $이 호환되지 않는 상황에서 가정, 정적으로 호출 할 수 없습니다"입력 필드를 검색하는 방법

<?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'); 
} 

편집보기 (의 작동 확인을)

{!! 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() !!} 
+0

그냥 말, 당신은 할 수 있습니다 형식 코드를 역 인용 부호 ('\'')로 묶어 인라인으로 만들면 강조된 텍스트 대신 코드처럼 보이게됩니다. –

답변

10

:

use Illuminate\Http\Request; 

... 

public function update(Request $request, $id) 
{ 
    // 
    $task->title = $request->input('task'); 
    // 
} 

자세한 내용은 문서를 참조하십시오 http://laravel.com/docs/5.0/controllers#dependency-injection-and-controllers

+1

thx, 나는 그것을 볼 필요가있다. Jeffrey Way 튜토리얼을보고 있지만 특정 부분을 이해하지 못해서 아주 기본적인 것을 시도했습니다. – Marko

+1

Laravel 5는 개발자가 일련의 표준을 고수하는 데 도움이되는 훌륭한 방법입니다. DI는 매우 유용하며 필자는 Facades에서 선호합니다. (필자는 그에 대한 불만이 없습니다.) 그렇습니다. L5가하는 일과 관련하여 가능한 많은 부분을 참조하십시오. 학습 경험은 매우 유리할 것입니다. :-) –

17

잘못된 Request을 가져 왔습니다.

:

use Request 

또한이 같은 의존성 주입을 사용할 수

use Illuminate\Support\Facades\Request 

을하거나 별칭 :

은 당신이해야 할 Request 외관을 사용하려면
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'); 
    } 
} 

또는 해당 하나의 방법에 DI를 사용 : 당신은이에 대한 의존성 삽입 (Dependency Injection)를 사용한다

public function update(Request $request, $id){ 
    $task = Task::findOrFail($id); 
    $task->title = $request->input('task'); 
    $task->save(); 
    return Redirect::to('tasks'); 
}