2016-08-08 2 views
0

テーブルdosenがあり、データを "statusdosen"カラムに更新したいとします。Laravel 5.2すべてのデータを1つのデータを更新するときにリセットする

IのURLを持っています...管理者/ dosen /ステータス

私は、[保存]をクリックすると、ページが..admin/dosenにリダイレクトし、その行のすべてのデータが(空の)リセットされました。

この

は、私の見解

{!! Form::model($value, ['route' => ['admin.dosen.update', $value->user_id], 'method' => 'PUT']) !!} 
    <br> 
{!! Form::select('statusdosen', array('1' => 'Dikampus', '0' => 'Tidak Dikampus'), null, ['placeholder' => 'Pilih Status'], ['class' => 'form-control']) !!} 
    <br><br> 
!! Form::button('<i class="fa fa-check-square-o"></i> Simpan', ['type' => 'submit', 'class' => 'btn btn-primary btn-sm']) !!} 
{!! Form::close() !!} 

方法である:私はそれが他のページにリダイレクトされませ保存]をクリックした後で何をしたい

public function status() 
{ 
    $dosen = Dosen::paginate(10); 
    return view('admin/dosen.status', compact('dosen')); 
} 

public function update($id) 

{ 
    $dosenUpdate = Request::only(['nipy', 'namadosen', 'alamatdosen', 'notelpdosen', 'tempatlahirdosen', 'tanggallahirdosen']); 
    $user = User::find($id); 
    $user->dosen()->update($dosenUpdate); 
    return redirect('admin/dosen')->with('message', 'Data berhasil diubah!'); 

} 

。 'statusdosen'の新しい更新メソッドデータを作成する必要がありますか?

+0

ないクリアなの線に沿って何かを探していると思いますか?あなたは一列を更新したいのですか?更新後も同じページにいたいですか? – jonju

+0

@jonjuはい私は1データを更新し、更新後も同じページにとどまりたい。 – Ezra

+0

例:テーブルdosen(iddosen、user_id、namadosen、address、statusdosen) DSN01 | 12 |ここの住所1 私は「statusdosen」のみを更新します。 – Ezra

答えて

0

$user = User::find($id); 

をevreythingについて説明し[OK]を実はこれはこれは、このuser_idを持つすべての行が更新されることを意味します

Update 
     dosen 
Set 
    Columnname1=$data, Columnnam2=data2 
Where 
    user_id = $id 

と同じです。

あなたは、前のページに戻って行くことができますが、ページがリロードされているように、すべての入力値が存在しなくなります

public function update($id) { 
    $dosenUpdate = Request::only(['nipy', 'namadosen', 'alamatdosen', 'notelpdosen', 'tempatlahirdosen', 'tanggallahirdosen']); 
    //$user= User::find($id); $user->dosen()->update($dosenUpdate); 
    $dosen = dosen::find($id); // parameter $id must be id of the dosen you want to update 
    $dosen->update(dosenUpdate); 
    return back()->with('message', 'Data berhasil diubah!'); 
} 

return back()

の下のようにやるべき。

あなたは二つの方法

  1. 使用return back()->withInput()をしたデータを保持し、oldを使用して、対応する入力にデータを保存したいならば。
  2. AJAXを使用し、応答をjsonとして返します。

    例:

    return response()->json(['message'=>'Data berhasil diubah!');

+0

がエラーを返しましたnullのメンバー関数update()を呼び出す – Ezra

+0

私はモデル名を 'dosen'としました。あなたはそれを実際のモデル名に変更し、 '$ id' paramがidでないことがよくあるモデルであることを確認しなければなりません。 – jonju

0

私はあなたがまだこの

public function update(Request $request, $id) { 
    // Make sure the value is true/1 or false/0 
    $this->validate($request, ['statusDosen' => 'boolean']); 

    // Retrieve only the status 
    $statusDosen = $request->get('statusDosen'); 

    // Update user->dosen() 
    $user = User::find($id); 
    $user->dosen()->update($statusDosen); 

    // Redirect back to the page you came from with your message 
    return redirect()->back()->with('message', 'Data berhasil diubah!'); 
} 
+0

dosenテーブル用のページを編集しました。 nady、user_id、statusdosenなどと私がデータを更新するとき。それは成功しますが、私はステータスを編集します。すべてのデータがリセットされます。 – Ezra

関連する問題