尽管已输入输入,但请求包含 null

我正在尝试使用 Laravel 更新我的数据。我能够创建、读取、删除数据,但不知何故我无法更新我的数据。我已经检查了我的控制器、模型、路线和视图,但我认为没有任何错字或任何东西。尽管我输入了新的输入,但它仅重定向到其索引页面而没有更新。根本没有错误消息,所以我检查了问题出在哪里。所以我在控制器中检查了我的更新函数,并尝试显示请求,echo "$request->kode_kontak";但echo $request->kode_kontak;它没有显示任何内容,我认为它是空/空的,但是当我echo "yes"它在屏幕上显示“是”时,我对此进行了测试,因为我想知道函数本身是否正常工作,所以这里的问题是请求包含空,难怪我无法更新它。为什么请求没有通过?为什么会这样?以及如何解决它?


编辑和更新路径


Route::get('contact/{contact}/edit', 'ContactController@edit')->name('contact.edit');

Route::patch('contact/{contact}','ContactController@update')->name('contact.update');

具有编辑和更新功能的控制器


use Illuminate\Http\Request;

use App\Contact;

use DB;


public function edit($kode_kontak){

        $contact = DB::table('contact')->where('kode_kontak',$kode_kontak)->get();

        return view('contact.edit',['contact' => $contact]);

    }


public function update(Request $request){

        DB::table('contact')->where('kode_kontak',$request->kode_kontak)->update([

            'email' => $request->email,

            'telepon' => $request->telepon,

        ]);

        return redirect('contact');

    }

模型


class Contact extends Model

{

    public $timestamps = false;

    

    protected $table = 'contact';


    protected $fillable = [

        'kode_kontak',

        'kode_pegawai',

        'email',

        'telepon'

        

    ];


    protected $primaryKey = 'kode_kontak';

}


湖上湖
浏览 122回答 2
2回答

Qyouu

您的问题是您已禁用这些输入。禁用的输入将不会被提交。如果您想显示禁用的输入,但仍然修补这些值,您将需要添加具有这些值的隐藏输入,例如:     <div class="form-group">            <label for="kode_contact" class="control-label">Kode Kontak</label>            <input type="text" id="kode_kontak" class="form-control" value="{{ $p->kode_kontak}}" disabled>            <input type="hidden" name="kode_kontak" value="{{ $p->kode_kontak}}">        </div>        <div class="form-group">            <label for="kode_pegawai" class="control-label">Kode Pegawai</label>            <input type="text" id="kode_pegawai" class="form-control" value="{{ $p->kode_pegawai}}" disabled>            <input type="hidden" name="kode_pegawai" value="{{ $p->kode_pegawai}}">        </div>希望有帮助!

SMILET

$request->kode_kontak在$contact这里,$request->kode_kontak在 中不可用$request,请更改$contact:public function update(Request $request, $contact){&nbsp; &nbsp;DB::table('contact')->where('kode_kontak',$contact)->update([&nbsp; &nbsp; &nbsp; 'email' => $request->email,&nbsp; &nbsp; &nbsp; 'telepon' => $request->telepon,&nbsp; &nbsp;]);&nbsp; return redirect('contact');}
打开App,查看更多内容
随时随地看视频慕课网APP