Как изменить данные Input::all() в laravel 4?

Я использую Laravel 4 и моя функция хранения в контроллере:

public function store()
{
    $validation = new Services\Validators\Speaker;

    if($validation->passes())
    {                   

        $file = Input::file('image');

        $imageName  = time().'_'.$file->getClientOriginalName();

        $file->move('photos/',$imageName);

        $input = Input::all();          

        $speaker = $this->speaker->create(Input::all());


        return Redirect::route('speaker.index');
    }

Загруженная фотография перемещается в указанное место и называется правильно. Но в базе данных имя файла изображения сохранено неправильно. "C:\xampp\tmp\php2B7D.tmp" данные этого типа сохраняются. Я хочу сохранить имя изображения и путь. Есть идеи. Заранее спасибо.

1 ответ

Я нашел решение. здесь код

    public function store()
{
    $validation = new Services\Validators\Speaker;

    if($validation->passes())
    {

        $file = Input::file('image');

        $imageName  = time().'_'.$file->getClientOriginalName();


        $file->move('photos/',$imageName);

        $input = array('name'=>Input::get('name'),
                        'image'=> 'photos/'.$imageName,
                        'desc'=>Input::get('desc')
                    );



        $speaker = $this->speaker->create($input);

        return Redirect::route('speaker.index');
    }
Другие вопросы по тегам