首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >拉威尔,数据更新错误。没有错误提示,但数据未插入数据库

拉威尔,数据更新错误。没有错误提示,但数据未插入数据库
EN

Stack Overflow用户
提问于 2020-08-23 10:03:16
回答 1查看 39关注 0票数 0

我遇到了数据无法存储在数据库中的问题。当我使用save函数更新一个列时,没有错误提示,也没有插入。我没有头绪。帮帮我,兄弟。

我有一个主管表,其中包括id、user_id、name、email、expertise和initial letter列。主键是user_id。

这是我的编辑视图路径

代码语言:javascript
复制
Route::get('supervisor/profile/{id}/edit','UserController@supProfileEdit');

这是发布新数据的视图。

代码语言:javascript
复制
Route::post('supervisor/profile/{id}','UserController@supProfileUpdate');

刀片是一种形式:

代码语言:javascript
复制
 <div class="card">
        <div class="card-header bg-primary text-white">Profile</div>
        <div class="card-body">
            @foreach($supervisor as $data)
                <form id="supProfileForm" type="POST" action="{{url('supervisor/profile',$data->user_id)}}"
                      enctype="multipart/form-data">
                    @csrf
                    <div>
                        <label for="name"> Name : </label>
                        <input  id="name" disabled value="{{$data->name}}">

                    </div>

                    <div>
                        <label for="email">Email : </label>
                        <input id="email"  disabled value="{{$data->email}}">
                    </div>

                    <div>
                        <label class="inline" for="expertise">Expertise : </label>
                        <input type="text" id="expertise" name="expertise" value="{{$data->expertise}}">
                    </div>

                    <div>
                        <button type="submit" class="btn btn-primary">Update</button>
                    </div>
                </form>
        </div>
    </div>
    @endforeach

然后,这是我在控制器中的功能:我只想更新专业知识。

代码语言:javascript
复制
public function supProfileUpdate(Supervisor $supervisor)
    {

        $this->validate(request(),[
            'expertise'=>'required',
        ]);
        $supervisor->expertise = request('expertise');
        $supervisor->save();
        return redirect()->back();

    }
EN

回答 1

Stack Overflow用户

发布于 2020-08-23 10:36:58

我认为这个问题是由

代码语言:javascript
复制
Route::post('supervisor/profile/{id}','UserController@supProfileUpdate');

其中Supervisor模型主键是id,而您尝试使用user_id键获取它。

因此,我建议您在Supervisor模型中实现getRouteKeyName,如下所示

代码语言:javascript
复制
 /**
 * Get the route key for the model.
 *
 * @return string
 */
public function getRouteKeyName()
{
    return 'user_id';
}

或者在将其发送到表单时使用id。

代码语言:javascript
复制
<form id="supProfileForm" type="POST" action="{{url('supervisor/profile',$data->id)}}"
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/63542735

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档