使用资源和雄辩的laravel 4做到这一点的最好方法

时间:2013-09-20 23:40:00

标签: php laravel laravel-4

任何最好的方法都会感激不尽

这样做是从表单中获取输入并将其保存到数据库中。

public function update()
{

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

$destinationPath = 'img/';
$filename = $file->getClientOriginalName();
// $extension =$file->getClientOriginalExtension(); 
$upload_success = Input::file('path')->move($destinationPath, $filename);
 $photo = Photo::find($_POST['id']);
    $photo->caption = $_POST['caption'];
    $photo->path = $destinationPath . $filename;
    $photo->save();


if( $upload_success ) {
return Redirect::to('photos/'.$_POST['id'].'/edit')->withInput()->with('success', 'Photo       have been updated.');
} else {
 return Response::json('error', 400);
 }
}

这项工作很好,但我想知道是否有一种简化方法来做到这一点,如何我可以从表单发送数据发送到更新更新照片信息而不是我使用$ _POST并从表单中获取id解析更新($ id)等。感谢

1 个答案:

答案 0 :(得分:0)

您可以使用Input类,而不是直接访问帖子。

我可能会重新写一下这个函数:

public function update()
{
    $file = Input::file('path');
    $destinationPath = 'img/';
    $filename = $file->getClientOriginalName();

    if( Input::file('path')->move($destinationPath, $filename) )
    {
       $photo = Photo::find(Input::get('id'));
       $photo->caption = Input::get('caption');
       $photo->path = $destinationPath . $filename;
       $photo->save();
       return Redirect::to('photos/'.$_POST['id'].'/edit')->withInput()->with('success', 'Photo       have been updated.');
    } 
    else 
    {
       return Response::json('error', 400);
    }
}

另一种选择是直接将一些数据提取到您的Photo模型中,并在那里进行。