2015-08-26 3 views
1

im пытается сохранить данные с помощью запроса формы, но не работает.Laravel 5.1 Запрос формы не сохраняет данные

Данные возвращаются с массивом ошибок или с успешным сообщением, но не сохраняют данные.

Что случилось с моим кодом: https://gist.github.com/kneipp/42f7d316b9bbc2157668

<?php 

namespace App\Http\Requests; 

use App\Http\Requests; 

class ProfileFormRequest extends Request 
{ 
    public function authorize() 
    { 
     return true; 
    } 

    public function rules() 
    { 
     return [ 
      'intro' => 'required', 
     ]; 
    } 
} 


<?php 

namespace App\Http\Controllers; 

use App\Profile; 
use Illuminate\Http\Request; 

use App\Http\Requests; 
use App\Http\Controllers\Controller; 

use Illuminate\Support\Facades\Auth; 
use Illuminate\Support\Facades\Input; 

class ProfileController extends Controller 
{ 
    public function update(Requests\ProfileFormRequest $request) 
    { 
     //$id = Auth::User()->id; 

     return \Redirect::route('profile.edit')->with('message', 'Dados salvos!'); 
    } 
} 
+1

Изменить свой вопрос и добавить соответствующий встроенный код – lukasgeiter

+1

Я не вижу ничего в коде, публикуемую что даже ** TRY ** для сохранения данных каким-либо образом – litelite

+1

Laravel 'FormRequest' не сохраняет данные автоматически, и он также не разработан таким образом. Он предназначен для проверки и фильтрации запросов формы. Вы должны обрабатывать save() и любые другие действия в вашем контроллере. – yangqi

ответ

1

вам необходимо обновить свой код, чтобы фактически вызвать метод экономии на вашей модели, которая может быть сделано различными способами, например,

public function update(Requests\ProfileFormRequest $request) 
{ 
    Auth::user()->intro = $request->input('intro); 
    Auth::user()->save(); 

    return \Redirect::route('profile.edit')->with('message', 'Dados salvos!'); 
} 

Laravel Форма заявки разработаны (среди прочего), чтобы подтвердить ввод данных и автоматически обрабатывать перенаправления пользователя обратно.

Также в качестве примечания вы можете просто использовать Auth :: id(), чтобы получить идентификатор зарегистрированного пользователя.

1

Код рефакторинг, спасибо за Auth :: идентификатор() совет:

public function update(Requests\ProfileFormRequest $request) 
{ 
    Profile::find(Auth::id()) 
    ->fill($request->all()) 
    ->save(); 

    return \Redirect::route('profile.edit')->with('message', 'Dados salvos!'); 
} 
Смежные вопросы