使用Laravel更新数据库

用户名

我正在尝试使用Laravel更新数据库中的信息。不知道我在做什么错,但我似乎找不到问题所在。这是我的编辑页面的代码(这是我将从数据库中获取的信息进行编辑的页面)。

{{ Form::open(['url'=>'portfolio/update']) }}
    <div>
        {{ Form::label('portfolio_title', 'Portfolio Title:') }}
        {{ Form::text('portfolio_title',$work->portfolio_title) }}
        {{ $errors->first('portfolio_title','<span class="error">:message</span>') }}
    </div>
    <div>
        {{ Form::label('portfolio_description', 'Portfolio Description') }}<br>
        {{ Form::textarea('portfolio_description', $work->portfolio_description, ['size' => '50x5']) }}
        {{ $errors->first('portfolio_description','<span class="error">:message</span>') }}
    </div>
    <div>
        {{ Form::label('portfolio_content', 'Portfolio Content') }}<br>
        {{ Form::textarea('portfolio_content', $work->portfolio_content, ['size' => '50x5']) }}
        {{ $errors->first('portfolio_content','<span class="error">:message</span>') }}
    </div>
    {{ Form::hidden('id',$work->id) }}
    <div>
        {{ Form::submit('Update Work') }}
    </div>
{{ Form::close() }}

我有一个名为PortfolioController的控制器,它将信息保存到数据库中,而不保存到数据库中。

public function edit($work_title){
    $work = Portfolio::wherePortfolio_title($work_title)->first();
    return View::make('portfolio/edit', ['work' => $work]);
}

public function update(){
    $id = Input::get('id');
    $input = Input::except('id');

    if( !$this->portfolio->fill($input)->isValid()){
        return Redirect::back()->withInput()->withErrors($this->portfolio->errors);
    }

    $work = Portfolio::find($id);

    $work->portfolio_title = Input::get('id');

    $work->save();

}

这是我正在处理的路线:

Route::resource('portfolio','PortfolioController');
Route::post('portfolio/update','PortfolioController@update');

我能够用正确的信息填充表格,但是当我更改诸如标题之类的内容并单击“更新”时,页面会重新加载,但不会保存在数据库中。有时我会得到一个MethodNotAllowedHttpException错误。这让我感到非常沮丧,因此我们将不胜感激。

Lukasgeiter

您为什么不真正使用资源路线?

首先,删除portfolio/update路线。不用了

然后将您更改Form::open为:

{{ Form::open(['route' => ['portfolio.update', $work->portfolio_title], 'method' => 'put']) }}

这样,您就可以在RESTful控制器中定位更新方法。

最后,将其更改为使用portfolio_titleas标识符,您应该能够id从表单中删除隐藏的字段。

public function update($work_title){}

请看一下:

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Laravel更新或使用自动增量数据库创建

来自分类Dev

使用Java从onClick更新数据库

来自分类Dev

使用javascript变量更新数据库

来自分类Dev

在Laravel中更新数据库的多行

来自分类Dev

使用变量更新数据库表

来自分类Dev

使用laravel 5.1从数据库中的<select> <option>更新多个数据

来自分类Dev

无法通过Laravel更新数据库

来自分类Dev

如何使用DataRow更新数据库?

来自分类Dev

Laravel:Ajax更新到数据库

来自分类Dev

laravel更新数据库多个记录

来自分类Dev

Laravel 8表单更新数据库

来自分类Dev

Laravel失败的数据库更新请求

来自分类Dev

使用循环更新数据库表

来自分类Dev

使用javascript更新数据库值

来自分类Dev

使用AJAX表单更新数据库

来自分类Dev

使用MYSQLi更新数据库

来自分类Dev

使用php更新sql数据库

来自分类Dev

使用选择选项更新数据库(Laravel 4)

来自分类Dev

使用Codeigniter更新mysql数据库

来自分类Dev

Laravel函数不更新数据库

来自分类Dev

使用JavaScript从数据库更新JSON

来自分类Dev

使用 post() 更新数据库

来自分类Dev

laravel - 数据库未更新

来自分类Dev

使用 BeautifulSoup 更新 Django 数据库

来自分类Dev

使用 SwipeRefresh 从数据库更新 RecyclerView

来自分类Dev

Laravel:编辑数据后更新数据库时出错

来自分类Dev

使用变量更新 joomla 数据库

来自分类Dev

laravel - 更新数据库

来自分类Dev

使用值范围更新数据库