簡體   English   中英

laravel 5.8 無法更新數據庫中的值

[英]laravel 5.8 cannot update value in database

我試圖刪除一個用戶並將帖子更改為其他作者的帖子,但我只得到一個空白頁。

url:

" http://127.0.0.1:8000/backend/admin/8?delete_option=attribute&selected_user=9 "

這是我的刀片

<form action="{{ route('admin.destroy', $admin->id) }}" method="DELETE">

                <div class="panel panel-flat">


                    <div class="panel-body ">

                        <div class="col-xs-9">
                            <div class="box">
                                <div class="box-body">
                                    <p>
                                        Anda punya pilihan untuk mengapus user ini
                                    </p>
                                    <p>
                                        ID #{{$admin->id}}: {{$admin->name}}
                                    </p>
                                    <p>
                                        Konten yang sudah dibuat Admin ini harus diapakan?
                                    </p>
                                    <p>
                                        <input type="radio" name="delete_option" value="delete" checked> Hapus semua konten atas nama admin ini
                                    </p>
                                    <p>
                                        <input type="radio" name="delete_option" value="attribute"> Alihkan konten ke admin lain
                                        <select class="form-control" name="selected_user" id="">
                                              @foreach($user as $admin)
                                              <option value="{{$admin->id}}">{{$admin->name}}</option>
                                              @endforeach
                                        </select>
                                    </p>
                                </div>
                                <div class="box-footer">
                                    <button type="submit" class="btn btn-danger">Konfirmasi Delete</button>
                                    <a href="{{ route('admin.index') }}" class="btn btn-default">Batalkan</a>
                                </div>
                            </div>
                        </div>
                    </div>
                </div>
                <!-- /basic layout -->
                <!-- /categories -->
            </form>

這是我的 controller

  public function destroy(Requests\UserDestroyRequest $request, $id)
    {
        //
      $admin = User::where('id', $id)->first();

      $deleteOption = $request->delete_option;

      $selectedUser = $request->selected_user;

      if($delete_option == "delete"){
        $admin->posts()->delete();
      }

      elseif ($deleteOption == "attribute") {



        $admin->posts()->update( ['author_id' => $selectedUser]);



      }

      $admin->delete();

      return redirect()->route('admin.index')->with('message', 'Admin berhasil dihapus!');
  }

      public function confirm(Requests\UserDestroyRequest $request, $id)
    {
        //
      $admin = User::findOrFail($id);
    $user = User::where('id', '!=', $admin->id)->get(); 
      return view("backend.admin.confirm", compact('admin', 'user'));
  }

任何人都知道導致數據庫中 author_id 的值不更新的問題是什么?

在您的User model 中創建這樣的關系

public function posts(){

    return $this->hasMany(Post::class,'author_id','id');

}

在您的Post model 中創建這樣的關系

public function user(){

    return $this->belongsTo(User::class);

}

並替換這個

if($deleteOption == "delete"){
    $admin->posts()->delete();
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM