Laravel -删除一行(表)


Laravel - Deleting a row (table)

我使用的是laravel 5.2,我正在用Eloquent学习数据操作。我有一个表,我需要删除一行与按钮。

Problem: The server return a route error (NotFoundHttpException)

指南:我看了这个视频https://www.youtube.com/watch?v=1EyoZhfZ2TY为了激励我的数据。

这是路线( routes.php )

Route::delete('players&/{id}', 'PlayersController@deletePlayer');

下面是模板(players.blade.php)注意最后一个表数据(td)

     <tbody>
    <?php
        foreach($players as $player) {
    ?>
    <tr>
        <td><?php echo $player->PLA_ID?></td>
        <td><?php echo $player->PLA_Name?></td>
        <td><?php echo $player->PLA_Surname?></td>
        <td><?php echo $player->PLA_Pseudo?></td>
        <td><span class="glyphicon glyphicon-pencil"></span></td>
        <td><a href="delete&<?php echo $player->PLA_ID?>"><span class="glyphicon glyphicon-trash"></span></a></td>
    </tr>
    <?php }
    ?>
    </tbody>

最后函数(PlayersController.php)

<?php
namespace App'Http'Controllers;
use App'Models'Player;
use App'Http'Requests;
use Illuminate'Support'Facades'Input;
class PlayersController extends Controller
{
public function show(){ // reçoit l'url http://monsite.fr/users avec le      verbe "get" et qui retourne le formulaire.
    $players = player::all();
    return view('players', ['players' => $players]);
}
public function insertPlayer(){
    $player = new Player;
    $player->PLA_Name = Input::get('nom', false);
    $player->PLA_Surname = Input::get('prenom', false);
    $player->PLA_Pseudo = Input::get('pseudo', false);
    $player->save();
    return redirect('players');
}
public function deletePlayer($id){
    Player::destroy($id);
    return redirect('players');
}

}

我也会在我这边搜索,谢谢你花时间来解决我的问题=)

注:我需要这个框架的最佳实践,所以如果你有一些想法,让我更好地编码,我可以帮助一些像我一样的初学者=)

更改路由为:

Route::get('delete/{id}', 'PlayersController@deletePlayer');

将锚改为:

<a href="{{ url('delete', $player->PLA_ID) }}"><span class="glyphicon glyphicon-trash"></span></a>

锚标记总是发出GET请求。这就是为什么路由需要是GET路由的原因。

您的路由错误。把它改成

Route::post('/delete/{id}',[
    'uses' => 'PlayersController@deletePlayer'
]);
html锚:

<a href="{{ url('/delete/') }}<?php echo $player->PLA_ID?>"><span class="glyphicon glyphicon-trash"></span></a>