0

任何最好的方法都将不胜感激

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

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)等。谢谢

4

1 回答 1

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

另一种选择是将这些数据中的一些直接提取到您的照片模型中,并在其中进行操作。

于 2013-09-21T01:47:18.927 回答